1827 - 课后习题6.1
时间限制 : 1 秒
内存限制 : 128 MB
输入两个正整数m和n,求其最大公约数和最小公倍数。
题目输入
两个整数
题目输出
最大公约数,最小公倍数
输入/输出样例
输入格式
5 7
输出格式
1 35
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; }
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; }