【HDU】2817-A sequence of numbers(快速幂)
来源:互联网 发布:mac php环境配置 编辑:程序博客网 时间:2024/06/07 15:29
对于两种序列一种等比,一种等差
如果是等比 ak = a1 + (k - 1) * d 直接用((a1 * mod) + ((k - 1) % mod) * (d % mod)) % mod求就可以了
如果是等差 ak = a1 * q ^(k - 1) 利用快速幂求出q ^(k - 1)可以得到结果
#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;typedef long long LL;int n;int k;LL a[5];LL mod = 200907;LL pow_mod(LL a,int m){ //printf("%d\n",m); if(m == 1) return a % mod; if(m == 0) return 1; LL d = pow_mod(a,m / 2); LL ans = d * d % mod; if(m & 1) ans = ans * a % mod; return ans;}int main(){ scanf("%d",&n); while(n--){ for(int i = 0; i < 3; i++) scanf("%I64d",&a[i]); scanf("%d",&k); LL ans; if(a[1] - a[0] == a[2] - a[1]){ ans = ((a[0] % mod) + ((k - 1) % mod) * ((a[1] - a[0]) % mod)) % mod; printf("%I64d\n",ans); } else{ LL d = a[1] / a[0]; ans = ((a[0] % mod) * pow_mod(d,k - 1)) % mod; printf("%I64d\n",ans); } } return 0;}/*11 10 100 1000000000*/
0 0
- hdu 2817 A sequence of numbers (快速求幂)
- hdu 2817 A sequence of numbers (快速幂)
- 【HDU】2817-A sequence of numbers(快速幂)
- HDU 2817 A sequence of numbers(快速幂)
- HDU 2817 A sequence of numbers【水题|快速幂】
- HDU 2817 A sequence of numbers【水题|快速幂】
- HDU 2817 A sequence of numbers [快速幂]
- HDU 2817 A sequence of numbers (数学+快速幂)
- HDU - 2817 - A sequence of numbers (快速幂取模!)
- hdu 2817 A sequence of numbers(快速幂取余)
- hdu(2817)A sequence of numbers
- HDU 2817--A sequence of numbers【快速幂取模】
- hdu A sequence of numbers 2817 快速幂取模
- hdu 2817 A sequence of numbers——快速幂取模
- HDU 2187 A sequence of numbers【快速幂】
- hdoj 2817 A sequence of numbers 【快速幂】
- hdoj 2817 A sequence of numbers(快速幂取模)
- A sequence of numbers(快速求幂)
- scala编程--scala基础特征
- Objective -C内存管理
- android TextView 带滚动条,和ScrollView 用法(暂时觉得ScrollView滑动速度比较快)
- Android 之 SQLite数据库 查询数据库
- [cernRoot]How to get tree name from root file
- 【HDU】2817-A sequence of numbers(快速幂)
- Android中Toast的几种用法
- 能完全通过声音控制的,除了你家楼道里的灯泡,原来还有这么多产品
- Java做服务器开发语言
- ftrace 简介
- 快速排序的三路划分法
- 架构设计之如何写架构设计说明书
- Android Studio 导入OSChina客户端
- 64位win7旗舰版安装Microsoft Office Visio时报错