博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA10791
阅读量:4451 次
发布时间:2019-06-07

本文共 799 字,大约阅读时间需要 2 分钟。

题目

做法

分解一下:\(n=p_1^{k_1}p_2^{k_2}...p_n^{k_n}\),易证\(a+b<a\cdot b(a,b≥2)\),把\(n\)分解成\(p_1^{k_1},p_2^{k_2}...,p_n^{k_n}\),有几个特判,细节看代码吧

My complete code

#include
using namespace std;typedef long long LL;LL kase;inline void Solve(LL n){ LL ans(0),N(n),cnt(0); if(n==1){ printf("Case %d: 2\n",++kase); return; } for(LL i=2;i*i<=N;++i){ LL num(1); if(n%i==0 && n!=1){ while(n%i==0 && n!=1){ num*=i, n/=i; } ++cnt; ans+=num; } } if(n==N || cnt==1) ++ans; if(n!=1) ans+=n; printf("Case %d: %lld\n",++kase,ans);}int main(){ LL n; while(scanf("%lld",&n)!=EOF&&n) Solve(n); return 0;}

转载于:https://www.cnblogs.com/y2823774827y/p/10350896.html

你可能感兴趣的文章
第一次发帖 不写技术 聊生活
查看>>
codeforces 669E CDQ分治
查看>>
学习Go碰到一些Linux命令(未完)
查看>>
##ASCII表,希望对大家有所帮助
查看>>
html5日期转long
查看>>
MySQL --- 计算指定日期为当月的第几周
查看>>
10 -- 深入使用Spring -- 5...1 使用Quartz
查看>>
svn: E155021 this client is too old to work with the working copy at
查看>>
input:file属性
查看>>
js中级小知识1
查看>>
Ecahrtjs饼状图Demo,数据可视化。
查看>>
返回一个数组 最大子数组的和
查看>>
软件测试_实验二
查看>>
Centos安装IDEA
查看>>
SharePoint文档库,如何在新窗口打开中的文件
查看>>
Xmind日常操作
查看>>
java: -source 1.6 中不支持 switch 中存在字符串
查看>>
Card Stacking 队列模拟
查看>>
抽象类和接口的关系与区别哦
查看>>
【C语言】C语言函数
查看>>