Fibonacci Numbers 取模的规律

2019-04-13 14:26发布

F[0] = 0,F[1] = 1; n =0,1;
F[i] = F[i-1]+F[i-2] i>=2;
斐波那契数列的每个数都取模后会出现循环,循环节的大小由MOD决定; #include #include #include using namespace std; int fib[1000]; int main() { int n; //n为模 int M; cin >> n; fib[0] = 0; fib[1] = 1 % n; for(int i=2; i<=n * n; i++) { fib[i] = (fib[i - 2] + fib[i - 1]) % n; if(fib[i - 2] == 1 && fib[i - 1] == 0) { M = i - 1; break; } } for(int i =0;i<=M;i++){ printf("%d ",fib[i]); } cout << M <// 循环节 return 0; }