Fibonacci Numbers 取模的规律

xiaoxiao2021-02-28  42

F[0] = 0,F[1] = 1; n =0,1; F[i] = F[i-1]+F[i-2] i>=2; 斐波那契数列的每个数都取模后会出现循环,循环节的大小由MOD决定;

#include<iostream> #include<stdio.h> #include<string.h> 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 <<endl;// 循环节 return 0; }
转载请注明原文地址: https://www.6miu.com/read-2621815.html

最新回复(0)