Minimum Sum LCM(uva 10791)

Posted Cola

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Minimum Sum LCM(uva 10791)相关的知识,希望对你有一定的参考价值。

题意(就是因为读错题意而wa了一次):给一个数字n,范围在[1,2^23-1],这个n是一系列数字的最小公倍数,这一系列数字的个数至少为2

例如12,是1和12的最小公倍数,是3和4的最小公倍数,是1,2,3,4,6,12的最小公倍数,是12和12的最小公倍数………………

那么找出一个序列,使他们的和最小,上面的例子中,他们的和分别为13,7,28,24……显然最小和为7

/*
  我们很容易可以发现,将n唯一分解之后,把所有质因数乘以次数加起来就行了。比如:12=2^2*3^1,那么ans=2^2+3^1=7。这时会出现一个特殊例子,就是将n分解后只有一个质因数,如:5=5^1。这时的ans要加1。
*/
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int cnt;
int main()
{
    while(1)
    {
        ++cnt;
        int n,sum=0,tot=0;
        scanf("%d",&n);
        if(!n)break;
        for(int i=2;i<=sqrt(n);i++)
        {
            int p=0,p2=1;
            while(n%i==0&&n>1)
            {
                n/=i;p++;p2*=i;
            }
            if(p)tot++,sum+=p2;
            if(n==1)break;
        }
        if(n>1)tot++,sum+=n;
        if(tot==1)sum++;
        printf("Case %lld: %lld\\n",cnt,sum);
    }
    return 0;
}
View Code

 

以上是关于Minimum Sum LCM(uva 10791)的主要内容,如果未能解决你的问题,请参考以下文章

Minimum Sum LCM(uva 10791)

[质因数分解]UVa10791 Minimum Sum LCM

UVA - 10791 Minimum Sum LCM(最小公倍数的最小和)

唯一分解定理(以Minimun Sum LCM UVa 10791为例)

题解 UVa10791

UVA-10791 数学