zoukankan      html  css  js  c++  java
  • UVA.10791 Minimum Sum LCM (唯一分解定理)

    UVA.10791 Minimum Sum LCM (唯一分解定理)

    题意分析

    也是利用唯一分解定理,但是要注意,分解的时候要循环(sqrt(num+1))次,并要对最后的num结果进行判断。

    代码总览

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <cmath>
    #define nmax 505
    #define ll long long
    using namespace std;
    ll n;
    int pos = 0;
    int main()
    {
        //freopen("in.txt","r",stdin);
        int kase = 1;
        while(scanf("%lld",&n) != EOF && n){
            ll temp,sum =0;
            pos = 0;
            int uplimit = floor(sqrt(n + 1));
            bool isin = false;
            for(int i = 2;i<=uplimit;++i){
                isin = false;
                temp = 1;
                if(n % i == 0) pos++;
                while(n%i==0){
                    temp*=i;
                    n /= i;
                    isin = true;
                }
                if(isin) sum+=temp;
                if(n == 1) break;
            }
            if( n != 1 || pos == 0){
                pos++;
                sum += n;
            }
            if(pos == 1) sum++;
            printf("Case %d: %lld
    ",kase++,sum);
        }
        return 0;
    }
    
  • 相关阅读:
    mysql_单表查询
    mysql_建表
    MySQL基础
    JS_左边栏菜单
    Vue框架之组件系统
    Vue常用语法及命令
    Django的缓存,序列化,ORM操作的性能
    Django中的form表单
    Django中的auth模块
    AJAX请求提交数据
  • 原文地址:https://www.cnblogs.com/pengwill/p/7367024.html
Copyright © 2011-2022 走看看