We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
run time error
LOL
a, b, k = int(input()), int(input()), int(input())
n = 2
sum1 = a + b
while n < 2 * (10 ** 6):
n += 1
q = list(str(sum1))
isthere=True
if (len(q) >= k):
for i in range(1, k+1):
if (((str(i) not in q[0:k])) or ((str(i) not in q[-k:]))):
isthere=False
break
if(isthere):
print(n)
break
a = b
b = sum1
sum1 += a
Project Euler #104: Pandigital Fibonacci ends
You are viewing a single comment's thread. Return to all comments →
run time error LOL a, b, k = int(input()), int(input()), int(input()) n = 2 sum1 = a + b while n < 2 * (10 ** 6): n += 1 q = list(str(sum1))
if (n == 2 * (10 ** 6) - 1): print("no solution")
you use n just for counting then 2 * (10 6) - 1 is evaluating every time
for improve that: you can directly start with that big num & decrees it value, up to 2
or shift that range 2 bit, so only need to check is >0 or not. is this python so, only if n: print("")
it not give you that much less time, but consume little less than yours