博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2685 I won't tell you this is about number theory
阅读量:6819 次
发布时间:2019-06-26

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

题目链接:

题意:求gcd(a^m - 1, a^n - 1) mod k

思路:gcd(a^m - 1, a^n - 1) = a^gcd(m, n) - 1

code:

1 #include 
2 3 int gcd(int a, int b) 4 { 5 return !b ? a : gcd(b, a%b); 6 } 7 8 int mod_pow(int a, int x, int mod) 9 {10 int tmp = a;11 int ret = 1;12 while(x) {13 if (x & 1) {14 ret = ret * tmp % mod;15 }16 tmp = tmp * tmp % mod;17 x >>= 1;18 }19 20 return ret;21 }22 23 int main()24 {25 int t, a, m, n, k;26 scanf("%d", &t);27 while (t--) {28 scanf("%d %d %d %d", &a, &m, &n, &k);29 int d = gcd(m, n);30 int ans = mod_pow(a, d, k);31 printf("%d\n", (ans - 1 + k) % k); 32 }33 34 return 0;35 }

 

转载于:https://www.cnblogs.com/ykzou/p/5409920.html

你可能感兴趣的文章
php md5函数和字符串截取
查看>>
nginx升级OpenSSL
查看>>
C++中Timer的用法
查看>>
报表软件JS开发引用HTML DOM的location和document对象
查看>>
Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法
查看>>
《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串...
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
Linux下定时切割Nginx访问日志并删除指定天数前的日志记录
查看>>
zabbix 监控项目
查看>>
第三周第二节、用户密码管理及usermod、mkpasswd命令
查看>>
跨交换机实现VLAN
查看>>
27个提升效率的iOS开源库推荐
查看>>
Python的"print"函数在“Hello World”之外的延伸
查看>>
计划任务
查看>>
获取无序数组中第n大的数及快速排序算法使用
查看>>
我的友情链接
查看>>
MongoDB复制集原理
查看>>
Java开发(2) - Tomcat配置JNDI数据源
查看>>
Highcharts error #12 问题解决办法
查看>>
数字图像处理的常用概念和方法
查看>>