UVA10791- Minimum Sum LCM
来源:互联网 发布:js搅拌机型号 编辑:程序博客网 时间:2024/05/01 11:12
首先假设我们知道了一系列数字a1,a2,a3……an,他们的LCM是n,那么什么时候他们是最优解呢,当他们两两互质的时候
a和b的LCM是n,GCD是m,那么n=a/m*b , 它们的和就是sum=a+b;
如果m不为1(即a和b不互质),那么我们为什么不优化一下,将a变为a=a/m呢?,改变后a和b的LCM依然是n,但是他们的和显然减少了
所以我们得到最重要的一个性质,要想a1,a2,a3……an的和最小,要保证他们两两互质,只要存在不互质的两个数,就一定可以近一步优化
然后保证两两互质的方法就是分解质因子
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;int main () { int n, m, cnt, t = 1; long long sum; while (scanf("%d", &n) && n) { int flagn = n; sum = cnt = 0; m = sqrt(n) + 2; for (int i = 2; i <= m; i++) { if (flagn % i == 0) { cnt++; int temp = 1; while (flagn % i == 0) { temp *= i; flagn /= i; } sum += temp; } } if (flagn == n) sum = (long long)n + 1; //注意n要强制转化为long long else if (cnt == 1 || flagn != 1) sum += flagn; printf("Case %d: %lld\n", t++, sum); } return 0;}
0 0
- uva10791 - Minimum Sum LCM
- UVA10791- Minimum Sum LCM
- UVA10791----Minimum Sum LCM
- uva10791 Minimum Sum LCM
- uva10791 Minimum Sum LCM
- uva10791 Minimum Sum LCM
- UVA10791 Minimum Sum LCM
- 【Uva10791】Minimum Sum LCM【LCM】【质因数分解】
- UVA10791 Minimum Sum LCM 数论素因子
- UVA10791 Minimum Sum LCM 质因数分解
- uva10791 Minimum Sum LCM(唯一分解定理)
- UVA10791 Minimum Sum LCM(数论)
- UVA10791 Minimum Sum LCM(唯一分解定理)
- UVA10791:Minimum Sum LCM(数论)
- Minimum Sum LCM(uva10791+和最小的LCM+推理)
- UVA10791 - Minimum Sum LCM(分解质因子)
- Uva10791 Minimum Sum LCM(数论、唯一分解定理)
- uva10791——Minimum Sum LCM(分解质因数)
- warning: right shift count >= width of type
- 大型高并发高负载网站的系统架构
- 多边形问题( 判断一个点在不在多边形内)
- opencv 卡尔曼滤波器例子,自己修改过
- MVC3的404页面设置的方法
- UVA10791- Minimum Sum LCM
- 超级负载均衡
- Java中线程池创建与使用
- 嵌入式---中断
- 矩阵连乘问题(C++)
- poj 2485 Highways(kruscal or prim最小生成树)
- C++Primer学习札记_指针和const限定符
- PM中的挣值管理
- <PY><core python programming笔记>C6 序列:字符串和列表和元组(三)