题目链接: https://vjudge.net/problem/UVA-10791

  题目描述: 给一个数n, 让你求至少两个数的lcm是n 的, 最小和

  解题思路: 唯一分解, 每个单独的素数的幂加起来就是答案

  代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <iterator>
#include <cmath>
#include <algorithm>
#include <stack>
#include <deque>
#include <map>
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define mem0(a) memset(a,0,sizeof(a))
#define meminf(a) memset(a,0x3f,sizeof(a))
#define fi(n) for(i=0;i<n;i++)
#define fj(m) for(j=0;j<m;j++)
#define sca(x) scanf("%d",&x)
#define scalld(x) scanf("%I64d",&x)
#define print(x) printf("%d\n",x)
#define printlld(x) printf("%I64d\n",x)
#define d printf("=======\n")typedef long long ll;
using namespace std;
//const int maxn = 1e6+10;
vector< pair<ll, int> > V;
vector< pair<ll, int> >::iterator it;
void build( ll num ) {ll m = (double)sqrt(num+0.5);
//    cout << m << endl;for( int i = 2; i <= m; i++ ) {int cnt = 0;while( num % i == 0 ) {num /= i;cnt++;}if( cnt != 0 ) {V.push_back(make_pair(i, cnt));}}if( num > 1 ) {V.push_back(make_pair(num, 1));}
}//const int INF = 1e11;
int main() {ll n;int cases = 1;
//    for( int i = 0; i < 12; i++ ) {
//        cout << prime[i] << " ";
//    }
//    cout << endl;//    cout << cnt << endl;
//    freopen("in.txt", "r", stdin );while( cin >> n && n ) {V.clear();if( n == 1 ) {cout << "Case " << cases++ << ": " << 2 << endl; continue; }build(n);int cnt = (int)V.size();double res = 0;for( it = V.begin(); it != V.end(); it++ ) {res += pow( double(it->first), double(it->second) );}if( cnt == 1 ) cout << "Case " << cases++ << ": " << ll(res+1) << endl;else cout << "Case " << cases++ << ": " << ll(res) << endl;}return 0;
}

View Code

  思考: 哎, 我都不想说啥了, 一开始RE了, 是我素数分解的时候不长脑子, 后来我没有特判1, 我还一直以为是自己哪里格式出了毛病, 结果还真得打了一个"#", 以后做题直接复制粘贴吧, 自己打了一年多了还是改不了马虎的习惯, 真的是是很烦

转载于:https://www.cnblogs.com/FriskyPuppy/p/7399150.html

UVA 10791 Minimum Sum LCM 数论相关推荐

  1. UVa 10791 Minimum Sum LCM

    分析一波发现,将原数尽可能地分解成"质数的k次方"的和,会使得答案最大而数字和最小 于是就可以愉快地质因数分解了. 注意判断若n是质数,答案为n+1. 1 /**/ 2 #incl ...

  2. Minimum Sum LCM(uva10791+和最小的LCM+推理)

    L - Minimum Sum LCM Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  3. 28行代码AC——Minimum Sum LCM UVA - 10791(最大质因子)

    励志用尽量少的代码做高效表达 题目(提交)链接-->UVA - 10791 题意 输入正整数n,找至少两个数,使得他们的最小公倍数(Least Common Multiple)为n且要输出最小的 ...

  4. UVA10791 Minimum Sum LCM(数论)

    <span style="font-family:FangSong_GB2312;font-size:18px;">/* Sample Input 12 10 5 0 ...

  5. HDU-3743 Minimum Sum,划分树模板

    Minimum Sum 被这个题坑了一下午,原来只需找一个最中间的数即可,我以为是平均数. 题意:找一个数使得这个数和区间内所有数的差的绝对值最小.输出最小值. 开始用线段树来了一发果断T了,然后各种 ...

  6. C. Orac and LCM(数论)

    C. Orac and LCM(数论) 题目传送门 g 1 = g c d [ l c m ( a 1 , a 2 ) , l c m ( a 1 , a 3 ) - l c m ( a 1 , a ...

  7. 【BZOJ2226】LCM SUM,数论之一维LCM(莫比乌斯反演)

    Time:2016.06.18 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 一开始的我只能推出一个O(n√⋅n√=n)O(\sqrt n·\sqrt n=n)的式子(两次分块), ...

  8. Minimum Possible LCM

    https://codeforces.com/contest/1154/problem/G 题意:给定数组,求其中lcm(a,b)的最小的a和b的位置. 题解:枚举GCD /* *@Author: S ...

  9. UVA 10515 - Powers Et Al.(数论)

    UVA 10515 - Powers Et Al. 题目链接 题意:求出m^n最后一位数 思路:因为m和n都非常大,直接算肯定是不行的,非常easy想到取最后一位来算,然后又非常easy想到最后一位不 ...

  10. Uva - 12050 Palindrome Numbers【数论】

    题目链接:uva 12050 - Palindrome Numbers 题意:求第n个回文串 思路:首先可以知道的是长度为k的回文串个数有9*10^(k-1),那么依次计算,得出n是长度为多少的串,然 ...

最新文章

  1. Linux Centos 上一些常用的命令
  2. [泰然翻译] cocos2d programming guide 场景和菜单
  3. python创建txt文件
  4. python sys,os模块总结
  5. Java 核心编程技术干货
  6. 《财富》:盖茨的四项黄金法则
  7. B-Donut Drone(循环/分块/DP)
  8. Java Swing井字游戏
  9. Java笔记(四)各类容器,set,map,队列实现
  10. java内部类简单解析
  11. python3装饰器例子_python3装饰器用法示例
  12. MySQL数据库入门学习
  13. WORD文档怎么转换成EXCEL
  14. Cannot mix different versions of joi schemas解决方案
  15. 为Oracle 18c数据库打PSU补丁
  16. 远程访问双层嵌套Openstack云下的Windows虚机(by quqi99)
  17. PyQt5 QPushButton 设置文字对齐方式(基于setStyleSheet)
  18. 新时达电梯服务器显示外呼错,干货:电梯报UCMP故障,其故障现象太怪异了……...
  19. 组织要为每一个员工赋能
  20. Apache Mina Demo

热门文章

  1. mysql查询交叉连接_MySQL表连接(内连接、交叉连接、外连接、联合查询)-阿里云开发者社区...
  2. layui 监听表单提交form.on(‘submit(sub)‘,function (){}) ajax请求失败问题
  3. go map二维数据追加
  4. Python获取图片的大小/尺寸
  5. 2021桂花开得真晚,晚了将近一个月
  6. 增加一个输出,解决一个奇怪的死机
  7. 一天到晚都在转笔,不需要写代码、调试,用眼看就行了?
  8. 全网首发:以字型为例,以bit表示的二维数组矩阵,旋转90、-90
  9. 庆贺使用VS2017编译OpenJDK12成功!
  10. FireFox的插件范例,竟然有问题