Я хочу рассчитать период Pisano для любого целого числа 2 <= m <= 100000
.Код для поиска Pisano Период с неправильным выводом
Этот код в настоящее время не работает для m>4
, для m>4
Выходной результат: 9
. Что я делаю неправильно в приведенном ниже коде.
def fib(n):
i=0
f=[]
while(i<=n):
f.append(i)
i+=1
i=2
while(i<=n):
f[i]=f[i-1]+f[i-2]
i+=1
return f[n]
m=int(input())
j=2
p=[0,1,1,2]
while (p[j-1]!=1 and p[j-2]!=0):
h=fib(j)%m
p.append(h)
j+=1
print(len(p))
SO не является сервисом для отладки кода. Четко сформулируйте проблему с вашим кодом. – SiHa
'p [-1] в p [: - 2]' not 'p [:: - 1]! = P [0:]' Понять сращивания http://stackoverflow.com/questions/509211/explain-pythons- slice-notation –
@SiHa Этот код не показывает никакого выхода. Это означает, что последний цикл while каким-то образом становится бесконечным. –