码迷,mamicode.com
首页 > 其他好文 > 详细

UVa10791 - Minimum Sum LCM

时间:2015-05-27 06:17:59      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

分析即为紫薯上的分析。

难点是发现当每个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;
    }
}

 

UVa10791 - Minimum Sum LCM

标签:

原文地址:http://www.cnblogs.com/acbingo/p/4532255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!