杭电oj1005为什么总是WA,我试过了都可以啊,帮忙看看那里错了!谢谢!

#include<stdio.h>intmain(){inta,b,m,i,f1,f2,f3;longintn;scanf("%d%d%d",&a,&b,&n);whil... #include<stdio.h>
int main()
{
int a,b,m,i,f1,f2,f3;
long int n;
scanf("%d%d%d",&a,&b,&n);
while((a!=0)&&(b!=0)&&(n!=0))
{
f1=1;
f2=1;
f3=1;
m=n%6;
for(i=0;i<n-2;i++)
{
f3=(a*f2+b*f1)%7;
f1=f2;
f2=f3;printf("%d:%d\n",i,f3);
}
printf("%d\n",f3);
scanf("%d%d%d",&a,&b,&n);
}
return 0;
}
上面的代码不对,我要问的是这个代码
#include<stdio.h>
int main()
{
int a,b,m,i,f1,f2,f3;
long int n;
scanf("%d%d%d",&a,&b,&n);
while((a!=0)&&(b!=0)&&(n!=0))
{
f1=1;
f2=1;
f3=1;
m=n%6;
for(i=0;i<m-2;i++)
{
f3=(a*f2+b*f1)%7;
f1=f2;
f2=f3;
}
printf("%d\n",f3);
scanf("%d%d%d",&a,&b,&n);
}
return 0;
}
展开
 我来答
ltarcher
2011-04-07
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
AC代码,参考一下
#include <stdio.h>
int main()
{
int A,B,N,a[50],i;
while(scanf("%d%d%d",&A,&B,&N)==3&&(A||B||N)){
a[0]=1;a[1]=1;
for(i=2;i<50;i++){
a[i]=(A*a[i-1]+B*a[i-2])%7;
if(i>4&&a[i]==a[2]&&a[i-1]==a[1]&&a[i-2]==a[0])break;
}
N%=i-2;
if(N==0)N=i-3;
else N--;
printf("%d\n",a[N]);
}
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式