标签:dash his code 循环 ons fine ali content ext
#include<stdio.h> int f[10000+5]={1,1,1}; int main() { int a,b,n; while(scanf("%d%d%d",&a,&b,&n),a||b||n) { int i; if(n==2||n==1) { printf("1\n"); continue; } for(i=3;i<100;i++)//i<100表示,假定周期不会超过100左右,不过超了就改大一点呗 { f[i]=(a*f[i-1]+b*f[i-2])%7; if((i!=4&&f[i]==f[4]&&f[i-1]==f[3])||i-4>=n) break; } int T=i-2-2;//由于从第三个开始,所以周期T就有这样的表达式 printf("%d\n",f[(n-3)%T+3]);//n-3=n-2-1; n-2表示是周期的第n-2个数,再减一,是为了取模时数的范围在0 ——(T-1)
//加三,是因为从第个开始 } return 0; }
标签:dash his code 循环 ons fine ali content ext
原文地址:https://www.cnblogs.com/shenyuling/p/9692200.html