nefuoj67-思维-自动求循环节
来源:互联网 发布:淘宝上专柜代购的衣服 编辑:程序博客网 时间:2024/06/06 09:32
A number sequence is defined as follows:
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
Given A, B, and n, you are to calculate the value of f(n).
Input
The input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 <= A, B <= 1000, 1 <= n <= 100,000,000). Three zeros signal the end of input and this test case is not to be processed.
Output
For each test case, print the value of f(n) on a single line.
Sample Input
1 1 3
1 2 10
0 0 0
Sample Output
2
5
在设置cnt的时候,不能把他(以后做除数)初始化为0,如果这样就错,虽然他在日后的计算中肯定要被赋值,肯定会被赋值成其他数,但是还是re。。如果不赋值的话就不会错。。。。
#include <iostream>#include <cstdio>#include <cstring>/*自动求循环节。*/using namespace std;int a[501];int cnt;int main(){ int a1,b;int n; while(~scanf("%d%d%d",&a1,&b,&n)) { //int cnt=0; memset(a,0,sizeof(a)); if(b==0&&a1==0&&n==0) break; if(n<3){ printf("1\n"); continue; } a[1]=1;a[2]=1; for(int i=3;i<=500;i++) {a[i]=((a1*a[i-1])%7+(b*a[i-2])%7)%7; if(a[i]==1&&a[i-1]==1) { cnt=i-2; break;} } int x=n%cnt; if(x==0) cout<<a[cnt]<<endl; else printf("%d\n",a[x]); } return 0;}
0 0
- nefuoj67-思维-自动求循环节
- hdu2802 循环节思维
- 三十二节 循环思维启蒙
- 11.求循环节
- 求循环节
- HDU3746KMP求最小循环节
- poj1961 KMP求循环节
- 求小数的循环节
- KMP求循环节问题
- kmp求最小循环节
- HDU 4243 排列循环节问题-思维-(排列组合)
- POJ 2406 KMP求字符串循环节
- hdu 1358 period 求循环节 KMP
- 数据结构——求循环节
- 5.1.3(求最小循环节)
- Cyclic Nacklace +KMP求循环节
- 如何求一个真分数的循环节
- poj2406PowerString(kmp求循环节)
- 【博弈论】洛谷 P1288 取数游戏II
- 四、Shell编程基础
- 减肥abc...
- 【博弈论】洛谷 P1290 欧几里德的游戏
- Go语言嵌入问题续
- nefuoj67-思维-自动求循环节
- leetcode 312. Burst Balloons
- 【高精度】洛谷 P1303 A*B Problem
- bai发
- 题目:将链表的奇数位和偶数位调换组成新的链表
- permutation
- jvm类的加载详解
- 2017年的golang、python、php、c++、c、java、Nodejs性能对比
- 【搜索】洛谷 P1304 哥德巴赫猜想