‘%’的循环1005

余的循环是0—n-1;(要注意的)

#include<stdio.h>
int main()
{
int a,b,n,i;
__int64 sa[1000];

while(scanf("%d%d%d",&a,&b,&n),a||b||n){
sa[1]=1;
sa[2]=1;
for(i=3;i<1000;i++){//f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
sa[i]=(a*sa[i-1]+b*sa[i-2])%7;
if(sa[i]==1&&sa[i-1]==1)break;
}
if(n>2){
i=i-2;
n%=i;
if(n==0)n=i;//注意零的余数。
printf("%I64d/n",sa[n]);
}
else printf("1/n");
}
return 0;
}

你可能感兴趣的:(循环)