最大公约数,最小公倍数

mac2025-07-20  7

【问题描述】写两个函数,分别求两个正整数的最大公约数(H.C.F)和最小公倍数(L.C.D),用主函数调用两个函数,并输出结果。两个正整数由键盘输入,不超过1000000。

【输入形式】两个整数。由空格隔开。

【输出形式】

H.C.F=两个整数的最大公约数

L.C.D=两个整数的最小公倍数

【样例输入】40 60

【样例输出】

H.C.F=20

L.C.D=120

【样例说明】40和60的最大公约数为20,最小公倍数为120.

参考主程序代码:

int main()

{

int n,m;

cin >> n >> m;

cout << “H.C.F=” << hcf(n,m) << endl;

cout << “L.C.D=” << lcd(n,m) ;

return 0;

}

#include<iostream> using namespace std; int main() { int n,m; cin>>n>>m; int hcf(int x,int y); int lcd(int x,int y); cout<<"H.C.F="<<hcf(n,m)<<endl; cout<<"L.C.D="<<lcd(n,m); return 0; } int hcf(int x,int y) //定义最大公约数函数 { int max; //定义最大公约数max for(int i=1;i<=x&&i<=y;i++) { if((x%i==0)&&(y%i==0)) max=i; //若为两个的公因数,则赋给max } return max; //返回max } int lcd(int a,int b) //定义最小公倍数函数 { int min1,min2; //定义min1,min2 min1=hcf(a,b); //min1为输入数据的最大公倍数 min2=min1*(a/min1)*(b/min1); //min2为最小公约数 return min2; }
最新回复(0)