hdu5690 快速模幂
来源:互联网 发布:淘宝客服工资待遇 编辑:程序博客网 时间:2024/05/23 01:12
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5690
题目大意:
思路:因为有m个x,还有取模操作,所以可以快速模幂把m位的x对k取模的结果求出来,然后在和c对k取模结果比较即可。因为取模是有个除法操作
所以可以用逆元,也可以直接乘到k上面去。。
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <fstream>#include <algorithm>#include <cmath>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#include <iomanip>using namespace std;//#pragma comment(linker, "/STACK:102400000,102400000")#define maxn 200005#define MOD 1000000007#define mem(a , b) memset(a , b , sizeof(a))#define LL long long#define ULL unsigned long longconst long long INF=0x3fffffff;LL ans ;LL x , m , k , c;LL quick_pow(LL m , LL mod){ LL res = 1; LL tmp = 10; while(m) { if(m & 1) { res *= tmp; res %= mod; } tmp *= tmp; tmp %= mod; m >>= 1; } return res;}int main(){ int t , ncase = 1; scanf("%d" , &t); while(t--) { scanf("%lld %lld %lld %lld" , &x , &m , &k , &c); k *= 9; LL ans = quick_pow(m , k); ans = ( (ans - 1 + k) % k); ans = (ans *x) % k; printf("Case #%d:\n" , ncase ++); if(ans == (c*9)%k) printf("Yes\n"); else printf("No\n"); } return 0;}
0 0
- hdu5690 快速模幂
- 快速幂 hdu5690 All X
- hdu5690(快速幂||减半)All X
- HDU5690 All X(快速幂)
- hdu5690百度之星All X(矩阵快速幂)
- HDU5690: All X(大数取模,同余)
- HDU5690-All X-循环节应用
- 快速幂 && 快速幂 取模
- 快速求幂与快速幂模
- 快速乘 + 快速幂 + 取模
- 快速幂模运算
- 矩阵快速幂模
- 取模快速幂
- 快速幂模
- 矩阵快速幂模
- 快速模幂(c++)
- hdu1852 快速模幂
- 快速模幂详解
- 欢迎使用CSDN-markdown编辑器
- 在ubuntu下安装vmware tools
- 137_Handler警告解决方法
- 练习三1017
- linux chmod 命令
- hdu5690 快速模幂
- 差分约束系统的粗浅总
- Linux进程间通信——使用信号量
- Python读取JSON数据,并解决字符集不匹配问题
- BZOJ2555——SubString
- HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
- iOS 视图控制器转场详解
- 购物篮分析分类算法——频繁模式挖掘(聚类算法)
- HDU 5690 All X