1827 - 课后习题6.1
输入两个正整数m和n,求其最大公约数和最小公倍数。
Input
两个整数
Output
最大公约数,最小公倍数
Examples
Input
5 7
Output
1 35
Solution C
#include<stdio.h> int main() { int m,n; int fun1(int x,int y); int fun2(int x,int y); scanf("%d%d",&m,&n); printf("%d %d\n",fun1(m,n),fun2(m,n)); } int fun1(int x,int y) { int r=x%y; while(r!=0) { x=y; y=r; r=x%y; } return y; } int fun2(int x,int y) { int r=x%y; int t=x*y; while(r!=0) { x=y; y=r; r=x%y; } return t/y; }
Solution C++
#include<bits/stdc++.h> using namespace std; long long a,b,t; int main() { cin>>a>>b; for(t=min(a,b);t>=1;t--) { if(a%t==0&&b%t==0) break; } cout<<t<<" "; t=max(a,b); while(t%min(a,b)!=0) t+=max(a,b); cout<<t; return 0; }