HDU-1005 Number Sequence 循环结
2017-07-04 09:19
429 查看
一开始的思路是遇到11就开始循环,后来发现,发现当A=5555,B=666666时数列是1142142142142,这种情况不是以11开始循环的,依然超时就罢了,关按11判断的话就错了。因为两个结果都一定是0到6之间的数,所以一定会循环,而且循环节不会超过7*7=49。(因为前面2个数若相同,则第三个之后的数必相同,而在49内必能找到2个相邻的数在前面出现过)。
题目链接:HDU-1005
题目链接:HDU-1005
#include<stdio.h> int main() { int i,a,b,m,n,l,f[50]; while(~scanf("%d %d %d",&a,&b,&n)&&n) { f[1]=f[2]=1; if(n<=2)f =1; if(n>2) { while(n>49) { n=n-49; } for(i=3;i<=n;i++) { f[i]=(a*f[i-1]+b*f[i-2])%7; } } printf("%d\n",f ); } return 0; }
相关文章推荐
- 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
- 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 弱智数学题
- HDOJ 1005 Number Sequence 斐波那契找循环
- NYOJ 427 & HDU 1005 Number Sequence(找循环节)
- HDU 1005 Number Sequence
- .hdu 1005 Number Sequence