hdu 1215 七夕节
2015-10-13 16:56
429 查看
#include <iostream> #include <cstdio> #include <cmath> using namespace std; struct node { int x; int n; }pp[42000]; int T,N,ans,tmp; int P[42000]; int quick_pow(int x,int n) { if(n==0) return 1; int cnt=1; while(n) { if(n&1) cnt=cnt*x; x=x*x; n>>=1; } return cnt; } bool isp(int x) { if(x==2) return true; if(x%2==0) return false; double upd=sqrt(x*1.0); for(int i=3;i<upd;i+=2) if(x%i==0) return false; return true; } void init() { int nn=0; for(int i=2;i<=500000;i++) if(isp(i)) P[nn++]=i; //cout<<nn<<"\n"; } int main() { init(); scanf("%d",&T); while(T--) { scanf("%d",&N); int num=0; int m=N; for(int i=0;i<41663;i++) { if(P[i]>m) break; if(m%P[i]==0) { pp[num].x=P[i]; pp[num].n=0; while(m%P[i]==0) { pp[num].n++; m/=P[i]; } num++; } } ans=1; for(int i=0;i<num;i++) { tmp=0; for(int j=0;j<=pp[i].n;j++) tmp+=quick_pow(pp[i].x,j); ans*=tmp; } ans-=N; printf("%d\n",ans); } }
相关文章推荐
- UIView简介
- hiho 1242 MX Loves Game
- python学习006--字符串操作
- eclipse调整字体大小
- js中写入和读取cookie
- 【干货】不同场景下 如何进行MySQL迁移
- Jersey框架的统一异常处理机制
- 一道时间复杂度为O(N)空间复杂度为O(1)的排序问题
- Opengl的gl_NormalMatrix
- gdb入门(下)
- Android popupwindow 随笔
- Oracle—SQL Server创建ID自增长的表
- 字体颜色及光标控制
- 动态链接库中函数的地址确定---PLT和GOT
- 关于动态在jar包中获取资源ID
- Android 获取手机网络、SIM卡等信息
- Scala中包的定义、嵌套、包对象、包的引用
- Android layout属性大全
- Pandoc一个好用的格式转换工具
- Windows程序内存限制记录(堆大小的限制)