Я кодирования в hackerrank и наткнулся на эту проблему суммирования степенных рядов: https://www.hackerrank.com/challenges/power-calculationсделать более эффективным
Мой код работает для небольших файлов и больших чисел. Что касается больших файлов, время истекает. Может ли кто-нибудь сделать его более эффективным.
Мой код: данные
z = []
def modexp(a, n, m):
bits = []
while n:
bits.append(n%2)
n /= 2
solution = 1
bits.reverse()
for x in bits:
solution = (solution*solution)%m
if x:
solution = (solution*a)%m
return solution
for _ in xrange(int(input())):
while True:
try:
x = raw_input()
sum =0
z = x.split(' ')
power = int(z[1])
limit = int(z[0])
for i in range(0,limit+1):
sum = sum%100 + modexp(i%100,power, pow(10,2))
if sum < 10:
print '%02d' % sum
if sum > 10:
print sum%100
except:
break
Sample - вход: выход
10
487348 808701
204397 738749
814036 784709
713222 692670
890568 452450
686541 933150
935447 202322
559883 847002
468195 111274
833627 238704
Пример:
76
13
76
75
24
51
20
54
90
42
не это должно быть * ваш * упражнения? –