64,651
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
int main()
{
int A,B;
long n;
int a[300] = {0};
a[1] = 1;
a[2] = 1;
while(cin>>A>>B>>n)
{
if(A + B + n == 0)
break;
if(n > 2)
{
int i = 3;
for(;i<300;i++)
{
a[i] = (A*a[i-1] +B*a[i-2])%7;
if(a[i] == 1)
if(a[i-1] == 1)
break;
}
i -= 2;
cout<<a[(n-1)% i + 1]<<endl;
}
else
cout<<"1"<<endl;
}
return 0;
}
#include<stdio.h>
int main()
{
int a,b,i;
long n,f[201];
while (scanf("%d %d %ld",&a,&b,&n)!=EOF)
{
if(a==0 && b==0 && n==0)
break;
f[1]=1;
f[2]=1;
if(n>=3)
{
for(i=3;i<200;i++)
{
f[i]=(a*f[i-1]+b*f[i-2])%7;
if(f[i-1]==1 && f[i]==1)
break;
}
i=i-2;
n=n%i;
if(n==0)
n=i;
printf("%d\n",f[n]);
}
else
printf("1\n");
}
return 0;
}