[UVa 10791]Minimum Sum LCM
2015-08-10 17:58
369 查看
题目大意:输入正整数n(<=2^31-1),找出至少两个正整数,使得他们的lcm为n,并且和最小
嗯。。要对每一个质数块考虑。。
是不是要加1这个因子或者n=1这种坑要特殊考虑。。
还要记得随手开long long。。
嗯。。要对每一个质数块考虑。。
是不是要加1这个因子或者n=1这种坑要特殊考虑。。
还要记得随手开long long。。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int n; int main(){ int test=0; while(scanf("%d",&n)&&n){ test++; int cnt=0;long long sum=0; if(n==1)sum=2; for(int i=2;i<=(int)sqrt(n);i++){ if(i>n)break; if(n%i==0){ int tmp=1; while(n%i==0)n/=i,tmp*=i; ++cnt;sum+=tmp; } } if(n!=1)++cnt,sum+=n; if(cnt==1)sum++; printf("Case %d: %lld\n",test,sum); } return 0; }
相关文章推荐
- 学习笔记-有关C语言的指针的类型和本质
- java 之 IO
- poj 1458 Common Subsequence(lcs模板)
- JavaScript eval() Function
- BestCoder Round #50 Distribution money 即 hdu5364 (排序)
- 智渔课堂官方免费教程十:Java基础之关键字static和this
- SetNamedSecurityInfo 1307 错误
- MySQL in查询优化<一>
- HUNNU-10307-最优分解问题
- 线段树专题—HDU1698 Just a Hook
- android屏幕适配不同的资源图片、布局
- 删除dojo创建的widget:以删除enhancedgrid为例
- 编辑距离及代码实现
- [iOS开发] tableView经常使用的到方法
- 前端性能测试ShowSlow+Yslow
- I学霸官方免费教程十:Java基础之关键字static和this
- HDU 4612 Warm up(手动扩栈,求树上哪两个点的距离最远)
- 过山车
- Leetcode学习之Multiply Strings (43)
- Linux 系统