HDU1005 Number Sequence 数学
来源:互联网 发布:js 获取当前协议 编辑:程序博客网 时间:2024/06/14 17:12
Number Sequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 141138 Accepted Submission(s): 34258
Problem Description
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).
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 31 2 100 0 0
Sample Output
25
#pragma warning(disable:4996) #include <vector>#include <list>#include <map>#include <set>#include <deque>#include <queue>#include <stack>#include <bitset>#include <algorithm>#include <functional>#include <numeric>#include <utility>#include <complex>#include <sstream>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <cstring>#include <ctime> #include <cassert>using namespace std;#define LL long long//#define DEBUGint main(){ #ifdef DEBUG freopen("E:\\data.in", "r", stdin); #endif int a,b,n; while (scanf("%d%d%d", &a,&b,&n) != EOF&&(a||b||n)) { if (n == 1||n==2) { printf("1\n"); continue; } map<int, int>fn_n; int begin, end, loop,numb[120]; numb[1] = numb[2] = 1; for (int i = 3; i < 108; i++) numb[i] = (a*numb[i - 1] + b*numb[i - 2])%7; for (int i = 54; i < 108; i++) { if ((numb[i]==numb[53])&&(numb[i-1]==numb[52])) { loop = i - 53; break; } } if (n <= 55) { printf("%d\n",numb[n]); } else { printf("%d\n",numb[52+((n-52)%loop)]); } } return 0;}
0 0
- hdu1005 Number sequence(数学)
- HDU1005 Number Sequence 数学
- 数学: HDU1005 Number Sequence
- (hdu1005)Number Sequence(组合数学)
- Number Sequence hdu1005
- (hdu1005)Number Sequence
- hdu1005 Number Sequence
- hdu1005 number sequence
- hdu1005 Number Sequence
- hdu1005 ( Number Sequence )
- Number Sequence(HDU1005)
- hdu1005 Number Sequence(数论)
- hdu1005 Number Sequence
- HDU1005 Number Sequence
- Hdu1005 Number Sequence
- hdu1005 Number Sequence
- HDU1005 Number Sequence
- hdu1005 Number Sequence
- 查找数据库中某一列名
- 引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 解决办法
- Linux ALSA 声卡驱动之五:移动设备中的ALSA(ASoc)
- iOS 插件开发
- Linux系统中的异常堆栈跟踪简单实现
- HDU1005 Number Sequence 数学
- java内存分配问题详解
- xshell如何在服务器上注册公钥
- go的学习记录(二)--- 数组与数组切片
- UVALive 4627 Islands(BFS+并查集)
- C#计算时间秒数差
- AndroidKiller使用的命令
- Facebook POP 动画框架 进阶指南
- MyEclipse配置SVN