hdu|hdu 5528 2022-01-05 hdu5528 #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MAX = 1e5 + 5; bool u[MAX]; int prime[MAX], num; void initial() { memset(u, true, sizeof(u)); num = 0; for(int i = 2; i < MAX; i++) { if(u[i]) prime[num++] = i; for(int j = 0; j < num; j++) { if(i*prime[j] >= MAX) break; u[i*prime[j]] = false; if(i%prime[j] == 0) break; } } }int n; void input() { scanf("%d", &n); }void solve() { long long ans = 1, other = n; for(int i = 0; prime[i]*prime[i] <= n; i++) { if(n%prime[i] == 0) { int cnt = 1; long long mul = 1; while(n%prime[i] == 0) { mul *= prime[i]; cnt++; n /= prime[i]; } other *= cnt; mul *= prime[i]; long long a = (mul - 1)/(prime[i] - 1), b = mul + 1, c = prime[i] + 1; ans *= ((a/c)*(b/c)*c + a%c*(b/c) + b%c*(a/c)); //防溢出计算(mul^2 - 1)/(prime[i]^2 - 1) } } if(n > 1) { other *= 2; ans *= (1 + (long long)n*n); } printf("%lld\n", ans - other); }int main() { initial(); int T; scanf("%d", &T); for(int t = 1; t <= T; t++) { input(); solve(); } return 0; } 推荐阅读 华为p30怎么开空调(华为p30开空调的方法) 打完药几小时下雨有效,一天中最佳喷药时间 一天治好感冒小妙招 治好感冒方法 西晒的阳台适合养什么花 西晒阳台种什么植物 怎么补钙比较快 4种食物不能少 宁滁恒大文化旅游城在什么地方 宁滁恒大文化旅游城能买吗 vb.net同步滚动 vb怎么设置滚动文字 lol盒子下载,多玩英雄联盟盒子 中庚当代艺术三期叫什么名字 为什么会有流星雨 是怎么形成的 鲈鱼养殖怎么样 富士通空调外机不运行是什么故障?,主要有以下几点 2022年为什么建议大家千万不要领失业补助金?失业金不领取好处是什么? 有些路自己走,没有一个人会后悔 0-1岁婴儿早教实践【儿童早教实验室】 哔哩哔哩漫画夜间模式在哪 acdsee查找重复图片 批量删除 我来分享acdsee删除重复文件的图文操作 百家姓一共有多少个姓 百家姓的姓有多少个 温客行什么时候发现周子舒的病 温客行什么时候发现周子舒身份的 上海尼康售后服务中心 上海尼康官方体验