33 lines
784 B
Python
33 lines
784 B
Python
#!/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()
|