题目链接:传送门

题意:

求2004^x的全部约数的和。

分析:

由唯一分解定理可知

x=p1^a1*p2^a2*...*pn^an

那么其约数和 sum = (p1^0+p1^1^…+p1^a1)*…* (pn^0+pn^1^…+pn )

代码例如以下:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio> using namespace std; const int mod = 29; int quick_mod(int a,int b){
int ans = 1;
while(b){
if(b&1) ans=ans*a%mod;
b>>=1;
a=a*a%mod;
}
return ans;
} int fac[10],cnt;
int num[10];
void init(){
int n = 2004;
cnt = 0;
memset(num,0,sizeof(num));
for(int i=2;i*i<=n;i++){
if(n%i==0){
fac[cnt]=i;
while(n%i==0) n/=i,num[cnt]++;
cnt++;
}
}
if(n>1) fac[cnt]=n,num[cnt++]=1;
} int main()
{
int n;
while(~scanf("%d",&n)&&n){
init();
int ans = 1;
for(int i=0;i<cnt;i++){
num[i]*=n;
int inv = quick_mod(fac[i]-1,mod-2);
ans=ans*((quick_mod(fac[i],num[i]+1)-1+mod)*inv%mod)%mod;
}
printf("%d\n",ans);
}
return 0;
}

最新文章

  1. javascript动画系列第三篇——碰撞检测
  2. java 的public private protected作用域
  3. Jesse Livermore的21句投机至理名言
  4. bootstrap源码分析之Carousel
  5. 【编程题目】查找最小的 k 个元素
  6. Linux网络管理
  7. linux 内核分析之list_head
  8. Linux下自动备份MySQL
  9. 【Linux】添加sudo用户、sudo用戶組
  10. 怎么知道我的laravel 是几版本的
  11. Linux 的特殊变量(2)
  12. 透析thinkphp5升级版开发框架tpframe
  13. 我花了 8 小时,&quot;掌握&quot;了一下 Flutter | Flutter 中文站上线
  14. sdk和api的区别
  15. STM32时钟
  16. (转载)Android开发——Android中常见的4种线程池(保证你能看懂并理解)
  17. 1月4日笔记 (vi编辑器)更新...
  18. mysql的级联复制和多源复制
  19. Swift中正则使用正则的几种方式
  20. wordpress防止网站被镜像四个方法

热门文章

  1. this关键字、this()、super()
  2. LoadRunner安装破解
  3. CSS定位与布局:浮动
  4. luogu P1260 工程规划(luogu wa)don&#39;t know way
  5. Mac 奇淫巧技 哈哈
  6. 怎么把一个整数转化为3个十六进制字节 delphi
  7. iOS网络交互数据格式解析之json
  8. 学习PHP:PHP提取的时间出现不准确
  9. docker selinux-enabled作用
  10. 【音乐App】—— Vue-music 项目学习笔记:搜索页面开发