博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu1005 Number Sequence(数论)
阅读量:5264 次
发布时间:2019-06-14

本文共 1092 字,大约阅读时间需要 3 分钟。

 

Number Sequence

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 86102 Accepted Submission(s): 20423

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).
 

 

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
 

 

Author
CHEN, Shunbao
 

 

Source

当时别人问我这题,我最开始一看感觉是矩阵快速幂,回来后想想%7,因为7太小了,可能有规律,周期最大为48,突然想起来原来以前做过这个题

#include 
int main(){ int i,j,A,B,f1,f2,f3,n; while(scanf("%d%d%d",&A,&B,&n)!=EOF&&(A||B||n)) { f1=1; f2=1; A=A%7; B=B%7; n=(n-3)%48+2; for(i=2;i<=n;i++) { f3=(A*f2+B*f1)%7; f1=f2; f2=f3; } printf("%d\n",f2); } return 0;}
 

 

转载于:https://www.cnblogs.com/james1207/p/3366081.html

你可能感兴趣的文章
bzoj3224 splay板子
查看>>
程序存储问题
查看>>
Mac版OBS设置详解
查看>>
优雅地书写回调——Promise
查看>>
android主流开源库
查看>>
AX 2009 Grid控件下多选行
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Ubuntu下面安装eclipse for c++
查看>>
让IE浏览器支持CSS3圆角属性的方法
查看>>
巡风源码阅读与分析---nascan.py
查看>>
LiveBinding应用 dataBind 数据绑定
查看>>
Linux重定向: > 和 &> 区别
查看>>
nginx修改内核参数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
Windows 2003全面优化
查看>>