首页 新闻 会员 周边 捐助

杭电1005有一点小问题,帮我看看。。。非常感谢。

0
悬赏园豆:100 [已关闭问题]

代码
#include<iostream>
using namespace std;
int main()
{
long long a,b,n,f[1000],i;
f[
1]=1,f[2]=1;
while((cin>>a>>b>>n)&&a&&b&&n) //输入数据
{
int k=3;
for(i=3;i<100;i++)
{
f[i]
=(a*f[i-1]+b*f[i-2])%7;
if(k!=3&&f[i]==f[3]&&f[i-1]==f[2]&&f[i-2]==f[1])//这个是判断找到循环的条件,就是3个连续的数依次和前三个数相同,但又不是前三个数。
break; //找到循环的周期跳出。
k++;
}
cout
<<f[(n-1)%(k-3)+1]<<endl;//k-3是循环的周期。这个就是算出所要求的数这个是在循环中的位置。
//我下载了别人AC的程序,复制到自己的电脑里,测试数据,目前为止,别人的程序所测出来的数据,在我的程序中的结果也是一样的。
//为什么我的不能AC,请高手指点。
}
return 0;
}



上面是杭电OJ上的1005题,这是杭电1005的地址
100分呢,我真的很想知道为什么是不对的。  各位前辈们,把我的程序稍做修改,然后AC了吧。我的分就敬上了,我是新手,没多少分。如果嫌分少,我就把所有的分200分,给你。只有做出来。
问题补充: 怎么没人回答呀。。
Sheen_的主页 Sheen_ | 初学一级 | 园豆:100
提问于:2010-07-17 01:04
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册