10791 - Minimum Sum LCM
描述:将最小公倍数分解质因子,最小的和便为各个质因子的相应次方数之和。 (1)当N是素数的时候,输出N+1 (2)当只有单质因子时或者N不被除尽时,质因子相应次方和+N最后的数; #include <cstdio> #include <cmath> int main() { // freopen("a.txt","r",stdin); int n,t=0,count,m,p,q; long long len; while(scanf("%d",&n)!=EOF) { if(!n) break; printf("Case %d: ",++t); m=sqrt(n+0.5),p=n,len=0,count=0; for(int i=2; i<=m; ++i) if(p%i==0) { ++count; q=1; while(p%i==0) { q*=i; p/=i; } len+=q; } if(n==p) len=len+n+1; else if(count==1||p!=1)len=len+p; printf("%lld\n",len); } return 0; }