标签:
分析即为紫薯上的分析。
难点是发现当每个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[1000]; LL vt=0; int decPrime(LL n){ LL m=(LL)sqrt(n+0.5); vt=0; for (LL i=2;i<=m&&n>1;i++){ if (!(n%i)){ LL tmp=1; while (!(n%i)&&n>1){ tmp*=i;n/=i; } v[vt++]=tmp; } } if (n>1) v[vt++]=n; } LL n; int T=0; int main(){ while (cin>>n&&n){ T++; LL ans=0; decPrime(n); if (vt==0||vt==1) ans=n+1; else for(int i=0; i<vt; i++) ans+=v[i]; cout<<"Case "<<T<<": "; cout<<ans<<endl; } }
标签:
原文地址:http://www.cnblogs.com/acbingo/p/4532255.html