Je suis codage en HackerRank et suis tombé sur ce problème: https://www.hackerrank.com/challenges/power-calculationFaire la somme plus efficace série de puissance
Mon code fonctionne pour les petits fichiers et grands nombres. En ce qui concerne les gros fichiers, ça expire. Quelqu'un pourrait-il le rendre plus efficace.
Mon code:
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
échantillon de données - Entrée:
10
487348 808701
204397 738749
814036 784709
713222 692670
890568 452450
686541 933150
935447 202322
559883 847002
468195 111274
833627 238704
Exemple de sortie:
76
13
76
75
24
51
20
54
90
42
est-ce pas censé être * votre * exercice? –