#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,i,m,t,sum,ans,kase=0;
while(scanf("%lld",&n)&&n){
kase++;
ans=0;
m=0;
t=n;
if(n==1){
printf("Case %lld: 2\n",kase);
continue;
}
for(i=2;i*i<=t;i++){
if(n%i==0)m++;
sum=1;
while(n%i==0){
sum*=i;
n/=i;
}
if(sum!=1)ans+=sum;
if(n==1)break;
}
if(n!=1){
m++;
ans+=n;
}
if(m==1)printf("Case %lld: %lld\n",kase,t+1);
else printf("Case %lld: %lld\n",kase,ans);
}
return 0;
}
UVA 10791 Minimum Sum LCM 唯一分解定理
最新推荐文章于 2020-02-16 20:35:20 发布