HDOJ 1005
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
刚开始的时候,真的一点的思路也没有,后来想到能不能先枚举出所有的元素(一亿),感觉有点玄乎,但是还是做了,真心的,不是没有白做。经过自己将其中的1000,2000,3000项全部列举出来,你会发现,丫的,竟然有规律:当 A= 3,B= 3 和A=1,B=5的时候这时候周期分别为42 , 21。当A,取10以内的其他的数的时候最大的周期为48,这其中也有16,32.的时候。得嘞,索性就让他的周期为42*48;枚举出这其中的所有情况,齐活!
#include<iostream>
using namespace std;
int a[100000005];
int main()
{
int A,B,n;
while(cin>>A>>B>>n &&(A!=0 && B!=0 && n!=0))
{
A = A%7;
B = B%7;
a[0] = 1;
a[1] = 1;
a[2] = 1;
for(int i = 3;i<42*48;i++)
{
a[i] = (A*a[i-1] + B*a[i-2])%7;
}
n = n%(42*48);
cout<<a[n]<<endl; } return 0;
}
之后,看见有人在网上说,周期是48,这显然是不对的……
当然42 = 6*7
48 = 6*8
最小的周期也可是 6*7*8 = 336;
仅个人思路,往大牛点评……
HDOJ 1005的更多相关文章
- HDOJ(1005) Number Sequence
这道题,咋一看很像Fibonacci数列,使用递归或者改进的动态规划来解决.但是仔细一看,(1 <= n <= 100,000,000),使用这些方法,要么超时,要么肯定内存不够用,因此必 ...
- HDOJ 1848 Fibonacci again and again
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 杭电hdoj题目分类
HDOJ 题目分类 //分类不是绝对的 //"*" 表示好题,需要多次回味 //"?"表示结论是正确的,但还停留在模块阶 段,需要理解,证明. //简单题看到就 ...
- 【HDOJ】4426 Palindromic Substring
综合性很强的一道题目,结合manacher,后缀数组,哈希,RMQ,二分可解.基本思路是通过manacher可以找到所有可能的回文串,哈希去重,后缀数组二分找数目.最后暴力求解.需要注意kth需要为_ ...
- HDOJ 题目分类
HDOJ 题目分类 /* * 一:简单题 */ 1000: 入门用:1001: 用高斯求和公式要防溢出1004:1012:1013: 对9取余好了1017:1021:1027: ...
- HDOJ(HDU).2546 饭卡(DP 01背包)
HDOJ(HDU).2546 饭卡(DP 01背包) 题意分析 首先要对钱数小于5的时候特别处理,直接输出0.若钱数大于5,所有菜按价格排序,背包容量为钱数-5,对除去价格最贵的所有菜做01背包.因为 ...
- HDOJ(HDU).2602 Bone Collector (DP 01背包)
HDOJ(HDU).2602 Bone Collector (DP 01背包) 题意分析 01背包的裸题 #include <iostream> #include <cstdio&g ...
- HDOJ.2187 悼念512汶川大地震遇难同胞——老人是真饿了(贪心)
悼念512汶川大地震遇难同胞--老人是真饿了 点我挑战题目 题目分析 每组数据给出所拥有的钱数,和大米的种类.每种大米给出单价(每单位重量)和大米的重量.求能买到的大米最大重量是多少? 采用贪心算法. ...
- HDOJ.1789 Doing Homework again (贪心)
Doing Homework again 点我挑战题目 题意分析 给出n组数据,每组数据中有每份作业的deadline和score,如果不能按期完成,则要扣相应score,求每组数据最少扣除的scor ...
随机推荐
- EnumMap源代码阅读器
EnumMap是一个用于存放键值为enum类型的map.全部的键值必须来自一个单一的enum类型.EnumMap内部用数组表示效率更高. EnumMap维持键值的自然顺序(即枚举类型常量声明的顺序), ...
- HDU 4548(美素数)
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 小明对数的 ...
- 【原创】MapGIS K9 三维二次开发入门
开发语言:C# 平台版本:MapGIS K9 SP3 MapGIS K9三维平台也提供了接口和组件以实现二次开发.用户可以根据提供的接口和组件进行二次开发,也可以借助MapGISK9数据中心框架,可以 ...
- 在QuartusII 中使用tcl对工程进行复制——半自动
最近在看coyoo的博客,加上手上有一本coyoo老师的书籍.本人是脚本小白,怎么看都没有看懂这个自动化是怎么实现的. 先说我的半自动化,后面在说我对自动化的一点疑惑—— 目前没有实现 目录环境: 首 ...
- QT学习 之 文本文件读写
上一章我们介绍了有关二进制文件的读写.二进制文件比较小巧,却不是人可读的格式.而文本文件是一种人可读的文件.为了操作这种文件,我们需要使用QTextStream类.QTextStream和QDataS ...
- Java学习笔记51:数组转ArrayList和ArrayList转数组技巧
ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...
- Objective中的协议(Protocol)
Objective中的协议(Protocol) 作用: 专门用来声明一大堆方法. (不能声明属性,也不能实现方法,只能用来写方法的声明). 只要某个类遵守了这个协议.就相当于拥有这个协议中的所有的方法 ...
- Ultra-QuickSort(归并排序+离散化树状数组)
Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 50517 Accepted: 18534 ...
- 随机生成A~Z的字母CharDemo
- bootstrap框架开发电子商城案例
bootstrap框架开发电子商城案例 玛图 bootstrap 商城框架