#include<cstdlib>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<set>
#include<cstring>
#include <algorithm>
#define inf 0x7fffffff
#define N 60000000
#define MIN 1e-11
#define M 100
#define LL long long
using namespace std;
//int n,k,h,t,m;
int main()
{
#ifndef ONLINE_JUDGE
freopen("ex.in","r",stdin);
#endif
// scanf("%d",&t);
long long n;
int ncase=0;
while(scanf("%lld",&n)&&n)
{
printf("Case %d: ",++ncase);
long long sum=0;
long long nn=n;
long long s=sqrt(n);
int flag=0;
for(long long i=2; i<=s; i++)
{
if(!(n%i))
{
LL temp=1;
flag++;
n/=i;
temp*=i;
while(!(n%i))
{
n/=i;
temp*=i;
}
sum+=temp;
}
}
if(n!=1)
{
sum+=n;
flag++;
}
if(n==nn||flag==1)
{
printf("%lld\n",nn+1);
}
else
{
printf("%lld\n",sum);
}
}
return 0;
}
uva 10791 - Minimum Sum LCM
最新推荐文章于 2018-10-02 23:06:19 发布
本文介绍了一个使用C++实现的质因数分解算法,该算法可以高效地找出一个正整数的所有质因数,并计算出这些质因数的乘积。通过案例演示了如何进行质因数分解并判断一个数是否为质数。

296

被折叠的 条评论
为什么被折叠?



