sumdiv

Sol:

直接把A质因数分解,由算术基本定理的推论可知:
\[ ans=\prod^{cnt}_{i=1}(\sum^{B*c_i}_{j=0}p_i^j)\ (mod\ 9901) \]
可以发现,里面每一项都是一个等比数列求和,那么:
\[ ans=\prod^{cnt}_{i=1}(\frac{p_i^{B*c_i+1}-1}{p_i-1})\ (mod\ 9901) \]
所以可以直接算答案了。

需要注意的是,如果:
\[ 9901\ |\ p_i-1 \]
那么不能直接求其逆元,但是:
\[ p_i\equiv 1\ (mod\ 9901) \]
所以
\[ \sum^{B*c_i}_{j=0}p_i^j\equiv B*c_i+1\ (mod\ 9901) \]
同样可以直接算答案。

Code:

#include<cstdio>
#include<cstring>
#define RG register
#define IL inline
#define int long long
#define DB double
using namespace std;const int N=2e4+10;
const int mod=9901;int A,B,tot,fac[N],cnt[N];IL void prime_fac(int x) {RG int i;for (i=2;i*i<=x;++i)if (x%i==0) {fac[++tot]=i;while (x%i==0) x/=i,++cnt[tot];}if (x>1) fac[++tot]=x,cnt[tot]=1;
}IL int mul(int a,int b) {RG int ans=0;for (;b;b>>=1,a=(a+a)%mod)if (b&1) ans=(ans+a)%mod;return ans;
}IL int quick_pow(int x,int P) {RG int ans=1;for (;P;P>>=1,x=mul(x,x))if (P&1) ans=mul(ans,x);return ans;
}signed main()
{   RG int i,ans;while (scanf("%lld%lld",&A,&B)!=EOF) {memset(cnt,0,sizeof(cnt));tot=0,ans=1,prime_fac(A);for (i=1;i<=tot;++i) {if ((fac[i]-1)%mod==0) ans=mul(ans,(cnt[i]*B+1));else {ans=mul(ans,(quick_pow(fac[i],cnt[i]*B+1)-1+mod)%mod);ans=mul(ans,quick_pow(fac[i]-1,mod-2));}}printf("%lld\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/Bhllx/p/10653883.html

sumdiv 算术基本定理的推论相关推荐

  1. 算术基本定理“质数分解唯一性的证明”:古典方法与现代方法

    算术基本定理的最早证明是由欧几里得给出的. 每一个比1大的自然数N只能有一种方式分解成质数的乘积. 推论:若一个质数p是乘积ab的因子,则p不是a的因子就是b的因子. 大于1的自然数必可写成质数之积 ...

  2. 聊一聊数学中的基本定理(一)——算术基本定理的证明

    早点关注我,精彩不错过! 系列开篇辞 在每一个独立出来的学科中,无论文科还是理科,总会有几个标志性的成果和结论,一定程度上代表了这个学科的特点,光荣和本质.比如物理学的牛顿定律和相对论,信息科学中的熵 ...

  3. 因式分解,算术基本定理,积性函数(POJ 1452 Happy2004)

    积性函数:是指对于所有互质的整数a和b有性质f(ab) = f(a) * f(b) 算术基本定理:任何一个大于1的正整数都能唯一分解为有限个质数的乘积,即N = p1^x1 * p2^x2 * p3^ ...

  4. 算术基本定理证明用计算机,良序原理:算术基本定理的证明

    相关: [第一数学归纳法 vs 第二数学归纳法 vs 良序定理](http://www.cnblogs.com/liqiuhao/p/7799269.html) 首先不要把良序原理(Well-orde ...

  5. 算术基本定理(维基百科)

    算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数,若不是本身就是质数,就是可写为2个以上的质数的积,而且这些质因子按大小排列之后,写法仅有一种方式.例如:{\displaystyle ...

  6. 对 算术基本定理 的研究

    写在前面: 数论被誉为数学皇后,是研究整数性质的理论(好多人对数论的范围不清楚额) 而算术基本定理是数论中的重要定理 这篇文章是我对于算术基本定理的一些研究,研究的资料源自博客,百科,问答,持续更新 ...

  7. C++ 算术基本定理

    描述 算术基本定理(将一个正整数分解质因数),又称为正整数的唯一分解定理,即:每个大于1的自然数(且不是质数)均可分解为质数的积,而且这些质因数按小大排列之后,写法仅有一种方式(唯一的).请编写程序对 ...

  8. 算术基本定理证明相关引理与见解

    算术基本定理(唯一分解定理) 有感与浅见 [引自<现代密码学><初等数论><信息安全数学基础>] -索引:①算术基本定理证明 ②[良序集N+]在数论证明的强有力性 ...

  9. 最大公约数、最小公倍数与算术基本定理

    最大公约数.最小公倍数与算术基本定理 最大公因数和最小公倍数与素数分解式有什么联系呢? 举个例子:我们尝试分解样例中的提到的一组数12,15(最大公约数和最小公倍数分别是3和60): 12 = 2 2 ...

最新文章

  1. 超声波技术构建触摸界面
  2. leetcode005 longest_palidrome
  3. php socket ubuntu,Ubuntu升级php7.0配置fpm socket
  4. 【David Silver强化学习公开课】-4:Model-Free Prediction
  5. mysql 执行计划 代价_mysql explain执行计划详解
  6. CRM订单上状态字段在UI的显示逻辑
  7. 的一致性哈希_五分钟看懂一致性哈希算法
  8. CCF农产品价格预测-复赛rank2代码公布
  9. python执行shell脚本、执行mongodb_mongodb如何执行js
  10. Qt —— 录制麦克风、扬声器的声音
  11. 【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
  12. vue在刷新页面的时候调取方法
  13. wpf 窗体翻页效果
  14. 【考研】 2021年哈尔滨工业大学计算机考研「初试」经验贴
  15. 移动端 input 调用手机键盘搜索功能
  16. 数学分析(2):自然数集的构建
  17. 华硕 N551 GPT分区安装win7 ghost+原版
  18. 立创eda学习笔记五:如何自己画器件的符号和封装并上传
  19. ubuntu16.04 无法上网安装网卡驱动 e1000e
  20. 记录两段杀鸡用的牛刀——分钱和算日子……

热门文章

  1. linux基础之基础命令一
  2. javaScript——原型
  3. Andrew Ng机器学习编程作业:K-means Clustering and Principal Component Analysis
  4. [BZOJ4591][SHOI2015]超能粒子炮·改(Lucas定理+数位DP)
  5. CF GYM 100703G Game of numbers
  6. ios 编译openssl支持arm64(转)
  7. 1052. Linked List Sorting
  8. java开发环境eclipse的使用(模块代码折叠、可视化开发插件、生成Jar插件)
  9. javascript 刷新技巧
  10. Spark源码分析之Master状态改变处理机制原理