zjut_1178 最小公倍数
来源:互联网 发布:小米网络摄像头怎么用 编辑:程序博客网 时间:2024/06/05 13:33
Description:
求两个正整数的最小公倍数。
Time Limit:1000MS Memory Limit:32768K
Input:
输入数据含有不多于50对的数据,每对数据由两个正整数(0<n1,n2<100000)组成。Output:
对于每组数据n1和n1,计算最小公倍数,每个计算结果应占单独一行。Sample Input:
6 5 18 12
Sample Output:
30
36
题解:求两个正整数的最小公倍数,很容易想到用二者乘积除以其最大公约数,即a*b/gcd(a,b).
但是两数先相乘会产生很大的数,可能会超过整数的表示范围:
对于32位CPU,int的表示范围为-2^31~0~2^31-1,即-2147483648~2147483647.
所以,要把计算顺序改一下,最小公倍数=a/gcd(a,b)*b.
代码:
#include <iostream>using namespace std;int gcd(int ,int);int main(){ int a,b; while(cin>>a>>b) { cout<<a/gcd(a,b)*b<<endl; } return 0;}int gcd(int x, int y){ if (y==0) return x; else return gcd(y,x%y);}
0 0
- zjut_1178 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 最小公倍数
- 马尔科夫链
- Unity3D—transform和Input
- 网络编程之WCF编程:WCF服务和客户端的建立,回调
- Unity之Transform和Input
- 关于系统的SignalR的即时通讯功能
- zjut_1178 最小公倍数
- C----------------LessonPointerHigher
- python里面的一些小知识点
- 2015 4399校园招聘游戏开发笔试题
- C---------------LessonDynamicMemory
- C++ vector 的resize和reverve
- Linux core 文件
- HDU--1029--Ignatius and the Princess IV
- 手斧Linux – 从LFS到Funtoo (1)