uppdateras med ojämna mellanrum

19 februari 2009

Problem #13

Problem #13 innehåller en lång lista av stora tal som ska summeras, återigen handlar det om stora tal och ja, jag är lat och kör med Python på denna ^^
Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.
#!/usr/bin/env python
from __future__ import with_statement

def num_digits(a):
i = 0
while a > 0:
a, i = a / 10, i + 1
return i

with open("euler13.txt") as f:
a = 0
for line in f:
a = a + int(line)
print "Answer is", (a / 10**(num_digits(a) - 10))
En mer kreativ lösning skulle vara att endast addera de första 12 siffrorna från varje rad istället eftersom de efterföljande inte kan påverka resultatet vi är ute efter (dvs, de tio första siffrorna).

Inga kommentarer:

Om mig

Sundsvall, Sweden