UVa11889
来源:互联网 发布:java小数点后两位 编辑:程序博客网 时间:2024/06/05 16:52
题目链接
简介:
给出A,C,找出最小的C使得lcm(A,B)=C
分析:
这道题看上去很简单,稍微搞一搞就好了
但是我们要找到一个优美至极的方法
这次我们要从我们最常用的求lcm的柿子开始
lcm(a,b)=a*b/gcd(a,b)
b=lcm(a,b)*gcd(a,b)/a
lcm(a,b)/a我们知道,那现在的问题就是gcd(a,b)是多少
设d=lcm(a,b)/a=c/a
(当a,b互质的时候,b=d)
设r=gcd(a,d)
当r!=1时,说明a,b不互质
b*=r , a/=r
//这里写代码片#include<cstdio>#include<cstring>#include<iostream>using namespace std;int gcd(int a,int b){ int r=a%b; while (r) { a=b; b=r; r=a%b; } return b;}int main(){ int a,c; int T; scanf("%d",&T); while (T--) { scanf("%d%d",&a,&c); if (c%a!=0) { printf("NO SOLUTION\n"); } else { int d=c/a; int b=1; int r=gcd(a,d); while (r!=1) { a/=r; b*=r; r=gcd(a,d); } b*=d; printf("%d\n",b); } } return 0;}
阅读全文
0 0
- uva11889
- UVa11889
- uva11889 Benefit
- UVA11889 Benefit
- UVA11889 - Benefit
- 最小公倍数 UVa11889
- UVA11889 Benefit
- uva11889 benifit
- UVa11889 Benefit
- uva11889 - Benefit 数论
- uva11889 Benefit(gcd)
- uva11889(GCD,LCM)
- UVa11889 Minimum Sum LCM 分解质因数
- UVA11889(给出lcm(A,B)=C中的AC求最小的B)
- UVA11889:Benefit(已知LCM和其中一个数,求另一个数)
- MFC中使用ADO进行数据库操作 参考FROM:http://hi.baidu.com/sunkanghome/item/e1fda510b3186359f1090ee2 数据库与数据库编程: 当
- Linux进程退出之方法论
- BZOJ1103 大都市 DFS序 树状数组维护差分数组
- 转:linux系统的vm克隆后启动找不到网卡的问题
- Android进化史 设计风格进化及特点
- UVa11889
- Ubuntu 16.04 安装教程
- 创建docker自定义网桥 自定义网桥的配置 docker0
- Linux使用共享内存
- redis使用
- 【JZOJ 5352】 计数题
- soap简单对象访问协议
- Android Looper 架构 理解
- Anastasia and pebbles CodeForces