1431 - C语言-公约公倍2
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
Input
两个数
Output
最大公约数 最小公倍数
Examples
Input
6 15
Output
3 30
Solution C
int gy(int n,int m) { int tem; while(m) { tem=m; m=n%m; n=tem; } return n; } int gg(int n,int m) { return m/gy(n,m)*n; } int main(int argc, char* argv[]) { int a,b; while(~scanf("%d%d",&a,&b)) { if(a<b) printf("%d %d\n",gy(b,a),gg(b,a)); else printf("%d %d\n",gy(a,b),gg(a,b)); } return 0; }
Solution C++
#include <iostream> using namespace std; int gcd(int x,int y) { return y?gcd(y,x%y):x; } int lcm(int x,int y) { return x*y/gcd(x,y); } int main() { int x,y; cin>>x>>y; cout<<gcd(x,y)<<" "<<lcm(x,y); return 0; }