首先分解,然后可以发现同一个因子ai不能存在于两个以上的数中

因为求的是最小公倍数,如果有的话就可以约掉

所以数字必然由ai的pi次方的乘积组成,那么显然,在

a最小为2,而b大于2的情况下a*b>a+b

所以要让和最小,就每一个ai的pi次方作为一个数就好了。

另外注意long long,素数和1

#include<cstdio>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; int main()
{
int n, kase = 0;
while(~scanf("%d", &n) && n)
{
if(n == 1) { printf("Case %d: 2\n", ++kase); continue; }
int m = floor(sqrt(n) + 0.5), num = 0;
long long ans = 0;
REP(i, 2, m)
if(n % i == 0)
{
num++;
int t = 1;
while(n % i == 0) n /= i, t *= i;
ans += t;
} if(n > 1) num++, ans += n;
if(num == 1) ans++;
printf("Case %d: %lld\n", ++kase, ans);
}
return 0;
}

最新文章

  1. caj转pdf
  2. 安装VS2013,可是电脑C盘没空间了,今天早上整理了下
  3. C语言: 创建数组的几种方法
  4. java 中for each语句
  5. MySQL高可用方案选型参考
  6. paip.语义分析--单字词形容词表180个
  7. apple Swift教程大全,希望对你有帮助!
  8. 开班典礼-老师玩命的教,大家玩命的学,沉静,18K
  9. .NET对象与Windows句柄(二):句柄分类和.NET句柄泄露的例子
  10. live555源代码编译
  11. VSS汉化后出现问题及解决方法
  12. 在C#中怎么调用Resources文件中的图片
  13. Android ViewPager 打造炫酷欢迎页
  14. 求模和求余(附加C语言实现)
  15. iOS开发——delegate的相关警告
  16. vue中引用swiper轮播插件
  17. RPM包的版本号比较
  18. 【python小练】0012题
  19. java 获取键盘输入常用的两种方法
  20. wamp多站点多端口配置

热门文章

  1. freeswitch 注册错误408 - Request Timeout
  2. SQL SERVER-数据库的远程访问解决办法
  3. Spring中基于Java的配置@Configuration和@Bean用法 (转)
  4. bzoj-1492 货币兑换Cash (1)——平衡树维护凸包
  5. 对苹果“五仁”编程语言Swift的简单分析
  6. poj 2612 Mine Sweeper
  7. oracle实现自增id
  8. Testbench代码设计技巧
  9. chrome的F12的inspect使用
  10. m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号