uva 11889 Benefit(数学)
来源:互联网 发布:创业软件股吧 编辑:程序博客网 时间:2024/06/08 06:55
给出a,c,问是否存在一个尽可能小的数b使得lcm(a, b) == c
因为a*b/gcd(a, b) = lcm(a, b)
所以c/a = b/gcd(a, b)
而我们要求的是b,所以可以枚举b/gcd(a, b)的倍数直到c
这个过程中第一个满足条件的数就是b
代码如下:
#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int gcd(int a, int b) { return b ? gcd(b, a%b) : a;}int main(void) { int T, a, c; scanf("%d", &T); while(T--) { scanf("%d%d", &a, &c); if(c%a != 0) { puts("NO SOLUTION"); } else { bool ok = false; for(int i=c/a; i<=c; i+=c/a) if(a/gcd(a, i)*i == c) { printf("%d\n", i); ok = true; break; } if(!ok) puts("NO SOLUTION"); } } return 0;}
0 0
- uva 11889 Benefit(数学)
- UVa 11889 Benefit (数学)
- uva 11889 Benefit(简单数学)
- Benefit(UVA 11889)
- uva 11889 - Benefit(数论)
- UVA 11889 - Benefit(数论)
- UVa 11889 - Benefit (数论)
- UVA 11889-Benefit(数学_快速枚举因子)
- Uva 11889 - Benefit
- uva 11889 - Benefit
- UVa 11889 Benefit (数论)
- UVA 11889 - Benefit
- UVA 11889 Benefit
- UVA - 11889 Benefit
- UVa 11889 - Benefit
- UVA 11889 Benefit
- UVa 11889 Benefit
- uva 11889 Benefit
- 卷积的意义
- HDU2066一个人的旅行(最短路)
- Git怎样删除错误的commit
- 大头锻炼日记4 -- vbscript中的栈Stack
- 实习篇---第三天
- uva 11889 Benefit(数学)
- 01 数据类型 、常量变量、运算符、表达式、格式化输入输出
- js中document.documentElement 和document.body 以及其属性
- 未能加载文件或程序集“AspNetPager”或它的某一个依赖项。参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))
- linux命令
- u-boot引导kernel如何提速
- 大头锻炼日记5 -- vbscript中的栈Stack(链栈)
- hdoj problem 1563 Find your present!(位运算(异或运算求特殊数))
- 02 分支结构