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;
}
思想:找一下规律。虽然不易发现会有循环的规律,但是 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;
}
相关文章推荐
- HDU 1005 Number Sequence
- HDU 1005 Number Sequence【多解,暴力打表,鸽巢原理】
- HDU 1005 Number Sequence 水题 规律题
- 【矩阵快速幂】HDU_1005_Number Sequence
- HDU 1005 Number Sequence
- 51nod 1126 求递推序列的第N项 && hdu - 1005 Number Sequence (求周期)
- HDU 1005 Number Sequence
- HDU 1005 Number Sequence
- hdu 1005 Number Sequence(找规律)
- HDU 1005 Number Sequence 找循环区间的长度
- 1005 Number Sequence(HDU)
- HDU 1005 Number Sequence 矩阵乘法 Fib数列
- HDU 1005 Number Sequence
- HDU_1005 Number Sequence
- hdu 1005 Number Sequence(思维题)
- HDU 1005 Number Sequence
- HDU 1005 Number Sequence
- hdu 1005——Number Sequence
- HDU 1005 Number Sequence
- HDU 1005 Number Sequence