Number Sequence
2015-11-28 20:18
453 查看
[align=left]Problem Description[/align]
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).
[align=left]Input[/align]
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.
[align=left]Output[/align]
For each test case, print the value of f(n) on a single line.
[align=left]Sample Input[/align]
[align=left]Sample Output[/align]
[align=left] [/align]
2
5
参考别人的代码写的,希望有一天可以不参考别人的独立解决每道题。
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).
[align=left]Input[/align]
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.
[align=left]Output[/align]
For each test case, print the value of f(n) on a single line.
[align=left]Sample Input[/align]
1 1 3 1 2 10 0 0 0
[align=left]Sample Output[/align]
[align=left] [/align]
2
5
参考别人的代码写的,希望有一天可以不参考别人的独立解决每道题。
#include<stdio.h> //long f[1000000000];因为周期性的存在,所以不需要把数组开得这么大! int f[210]; int main() { int a,b; long n; while(scanf("%d%d%ld",&a,&b,&n),a||b||n) { if(n==1||n==2) { printf("1\n"); continue; } int i,flag=1; f[1]=1; f[2]=1; for(i=3;i<=200;i++)//打表,找到一个周期就结束! { f[i]=(a*f[i-1]+b*f[i-2])%7; if(f[i]==1&&f[i-1]==1)//出现周期 break; if(f[i]==0&&f[i-1]==0)//这里有一个陷阱,当 a=7,b=7 时,后面都是零 { flag=0; break; } } if(flag==0) { printf("0\n"); continue; } i=i-2;//i是周期 if(n<i) printf("%d\n",f ); else { n=n%i; if(n==0) printf("%d\n",f[i]); else printf("%d\n",f ); } } return 0; }
相关文章推荐
- Android源码分析之Builder模式
- Part Acquisition(spfa输出路径)
- Implement Queue using Stacks
- UIImagePickerController详解
- 随意细解:UI -- 标签视图控制器
- HDU 1005 Number Sequence(坑 T_T !!!)
- iOS 8新特性—— UIAlertController
- Building Simulation Packet-Loss System in Channel
- 我的iOS学习历程 - UITabBarViewController
- 为什么Java中1000==1000为false而100==100为true?
- UESTC 65 CD Making 贪心法
- UI-之plist文件解析
- 【Leetcode】N-Queens II
- UINavigationController设置导航栏属性
- 【Leetcode】N-Queens
- UITabBarController
- Codeforces 288E Polo the Penguin and Lucky Numbers
- UITableView 的结构
- 使用druid连接池的超时回收机制排查连接泄露问题
- 在Legacy BIOS与UEFI 两种模式安装Windows 8操作系统的方法