您的位置:首页 > 产品设计 > UI/UE

HDU 1005 Number Sequence

2012-01-01 19:19 387 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005

思想:找一下规律。虽然不易发现会有循环的规律,但是 mod 7 应该会给你们一些提示,看似斐波那契数列,F(n)=( F(n-1) + F(n-2))%7,等价于
F(n)=( F(n-1)%7 + F(n-2)%7)%7。所以会发现 7 x 7 = 49.就是以49为循环!

代码:

#include<stdio.h>
int main()
{
int n,x,y,i,a[10001];
while(scanf("%d %d %d",&x,&y,&n)&&(x,y,n))
{
a[1]=1;a[2]=1;
for(i=3;i<49;i++)
{
a[i]=(x*a[i-1]+y*a[i-2])%7;
}
printf("%d\n",a[n%49]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: