33 lines
784 B
Python
Raw Normal View History

2016-08-08 07:32:56 +02:00
#!/usr/bin/python
from math import ceil, sqrt
def get_present_for_house(houseNumber):
result = 0
# print "house: %d" % houseNumber
for x in range(int(sqrt(houseNumber))):
elf = x+1
if houseNumber % (elf) == 0:
# print "elf: %d, %d" % (elf, houseNumber/elf)
result += (elf)*10
if elf != houseNumber / elf:
result += (houseNumber / elf) * 10
return result
def main():
input = 36000000
houseNumber = int(sqrt(input))
while True:
giftNumber = get_present_for_house(houseNumber)
print "house: %d, gifts: %d" % (houseNumber, giftNumber)
if giftNumber >= input:
break
houseNumber += 1
print houseNumber
if __name__ == "__main__":
main()