分析即为紫薯上的分析。
难点是发现当每个aipi作为一个单独的整数时才最优。。
答案就是将所有不同的 相同因子的积 相加即可
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<string>
#include<cmath>
#include<sstream>
#include<ctime>
#define _PI acos(-1.0)
#define INF 1 << 10
#define esp 1e-6
typedef long long LL;
typedef unsigned long long ULL;
using namespace std;
/*===========================================
===========================================*/
LL v[];
LL vt=;
int decPrime(LL n){
LL m=(LL)sqrt(n+0.5);
vt=;
for (LL i=;i<=m&&n>;i++){
if (!(n%i)){
LL tmp=;
while (!(n%i)&&n>){
tmp*=i;n/=i;
}
v[vt++]=tmp;
}
}
if (n>) v[vt++]=n;
}
LL n;
int T=;
int main(){
while (cin>>n&&n){
T++;
LL ans=;
decPrime(n);
if (vt==||vt==) ans=n+;
else for(int i=; i<vt; i++)
ans+=v[i];
cout<<"Case "<<T<<": ";
cout<<ans<<endl;
}
}