HDU2817(二分幂)
来源:互联网 发布:html post提交数组 编辑:程序博客网 时间:2024/06/05 05:08
A sequence of numbers
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1830 Accepted Submission(s): 558
Problem Description
Xinlv wrote some sequences on the paper a long time ago, they might be arithmetic or geometric sequences. The numbers are not very clear now, and only the first three numbers of each sequence are recognizable. Xinlv wants to know some numbers in these sequences, and he needs your help.
Input
The first line contains an integer N, indicting that there are N sequences. Each of the following N lines contain four integers. The first three indicating the first three numbers of the sequence, and the last one is K, indicating that we want to know the K-th numbers of the sequence.
You can assume 0 < K <= 10^9, and the other three numbers are in the range [0, 2^63). All the numbers of the sequences are integers. And the sequences are non-decreasing.
You can assume 0 < K <= 10^9, and the other three numbers are in the range [0, 2^63). All the numbers of the sequences are integers. And the sequences are non-decreasing.
Output
Output one line for each test case, that is, the K-th number module (%) 200907.
Sample Input
21 2 3 51 2 4 5
Sample Output
516注意二分幂的计算,不可直接乘k-3次,也不可不加优化直接递归,注意细节:中间过程也可能产生很大的数#include<iostream>#include<cstdio>using namespace std;const int mod=200907;void func1(__int64 b,__int64 c,int k){k=k%mod;__int64 temp=(c-b)%mod;__int64 ans=(c+(temp*k)%mod)%mod;printf("%I64d\n",ans);}__int64 binary(__int64 temp,int k){__int64 sum;if(k==1)return temp%mod;sum=binary(temp,k/2)%mod;sum=((sum%mod)*(sum%mod))%mod; if(k%2)return ((sum%mod)*(temp%mod))%mod;return sum%mod;}void func2(__int64 b,__int64 c,int k){__int64 ans;ans=(c%mod*(binary((c/b)%mod,k)%mod))%mod;printf("%I64d\n",ans);}int main(){__int64 a,b,c; int k;int t;cin>>t;while(t--){scanf("%I64d%I64d%I64d%d",&a,&b,&c,&k);k=k-3;if(c-b==b-a)func1(b,c,k);elsefunc2(b,c,k);}return 0;}
- HDU2817(二分幂)
- hdu2817
- hdu2817
- HDU2817
- hdu2817
- hdu2817之整数快速幂
- hdu2817 2010.2.25
- hdu2817 A sequence of numbers
- hdu2817之状态压缩dp
- hdu2817 A sequence of numbers
- HDU2817 A sequence of numbers
- hdu2817(数论取模)
- hdu2817 A sequence of numbers
- HDU2817:A sequence of numbers(快速幂取模)
- 二分幂
- 二分幂
- hdu2817 A sequence of numbers (a^i mod n)
- 二分快速幂
- cocos2d-x 的学习记录(1)
- ASIHTTP 终结者
- android----------googleCode上的一些高质量开源软件
- c++CreateEvent函数在多线程中使用及实例
- sql 分页查询
- HDU2817(二分幂)
- Windows7系统下,修改系统桌面路径到其他盘
- js判断iframe是否加载成功
- Java中十个常见的违规编码
- 初学数据仓库项目理解
- Linux下Shell编程——grep命令的基本运用
- mtk android settings
- yii 中srbac的一些说明
- 数学之路(3)-数据分析(7)