数论-HDU1852
来源:互联网 发布:淘宝网宝贝主图尺寸 编辑:程序博客网 时间:2024/06/11 06:09
https://vj.xtuacm.cf/contest/view.action?cid=59#problem/A
这道题目求2008^n的方法要记住
详细讲解参考:http://blog.csdn.net/s_black/article/details/51581709
这道题和HDU1452类似。
题意:给你一个n、k,让你求2008^n所有因子的和(包括1和本身)%k,得到m,然后输出2008^m%k。
题解:看我HDU1452题,这里有一点需要注意的是:
s=(2^(3n+1)-1)(251^(n+1)-1)/250
因为gcd(250,k)不一定等于1,所以不能用求逆元的方法求解,
而k很小,所以我们可以将k乘以250,然后在进行,最后结果一定可以整除250.
(t/250)%k=(t%(250*k))/250
#include <iostream>#include <cstdio>#include <cstring>#define ll long longusing namespace std;ll quick_pow(ll a,ll b,ll k){ ll ans=1; while(b) { if(b&1) ans=(ans*a)%k; b>>=1; a=(a*a)%k; } return ans%k;}int main(){ ll n,k; while(~scanf("%I64d%I64d",&n,&k),n+k) { k=k*250; ll s=((quick_pow(2,3*n+1,k)-1)*(quick_pow(251,n+1,k)-1)%k+k)%k/250; //2008的质因子是2和251,通过对两个质因子分别从1加到n次方算出 k=k/250; cout<<quick_pow(2008,s,k)<<endl; } return 0;}
阅读全文
0 0
- 数论-HDU1852
- hdu1852
- hdu1852 快速模幂
- 【HDU1852】Beijing 2008
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论 ?
- 数论
- 数论
- HDU 6034 Balala Power!(贪心)
- 螺旋二维数组
- 排序算法大集成
- hdu1079
- [第五季]html格式化标签
- 数论-HDU1852
- 上楼梯问题
- 设计模式——单例模式
- c++实现单例类(懒汉与饿汉)
- kindeditor编辑器提示:PHP Warning: File upload error
- 常用的IntelliJ IDEA 快捷键
- 顺序表---模板
- Hrbust 1819 石子合并问题--圆形版【环形区间Dp】
- 数据挖掘关联分析中的支持度、置信度和提升度