写2个函数分别求2个整数的最大公约数和最小公倍数用主函数调用这2个函数,并输出结果,2个整数由键盘输入

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:30:06

#include<iostream>
using namespace std;
int max(int x,int y)
{
int m=x;int n=y;
while(m!=n)
{
if(m>n)
n+=y;
else
m+=x;
}
return m;
}

int min(int m,int n)
{
while(m!=n)
{
if(m>n)
m-=n;
else
n-=m;
}
return m;
}

void main()
{
int x,y;
cin>>x>>y;
cout<<max(x,y)<<endl;
cout<<min(x,y)<<endl;
}
欧几里德算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:

定理:gcd(a,b)=gcd(b,(a mod b))

证明:a可以表示成a=kb+r,则r=(a mod b)
假设d是a,b的一个公约数,则有
d|a,d|b,而r=a-kb,因此d|r
因此d是(b,(a mod b))的公约数

假设d是(b,(a mod b))的公约数,则
d|b,d|r,但是a=kb+r
因此d也是(a,b)的公约数

因此(a,b)和(b,(a mod b))的公约数是一样的,其最大公约数也必然相等,得证

gcd(55,22)=gcd(22,11)=gcd(11,0)=11

用辗转相除法可求最大公约数。求出a、b最大公约数后,最小公倍数有个简单的换算关系:最小公倍数=(a*b)/最大公约数。
下面用gcd表示最大公约数,lcm表示最小公

写2个函数分别求2个整数的最大公约数和最小公倍数用主函数调用这2个函数,并输出结果,2个整数由键盘输入 用Delphi编写2个函数,分别求2个整数的最大公约数和最小公约数 写两个函数分别求两个整数的最大公约数和最小公倍数用主函数调用这两个函数,并输出结果,两个整数由键盘输 2个整数的最小公倍数是1925,这两个整数分别除以它们的最大公约数,得到2个商的和是16,这两个整数是( ),( ). 求这2个函数的值域~ 求:用C语言编程 求10个整数中最大的一个 谢谢 编一个带参数的主函数。运行时,在程序名后面带有2个整数。程序的功能是输出这2个整数的和。 c 语言哈,写两个函数,分别求两个整数的最大公约数和 最小公倍数,用主函数调用这两个函数,并输出结果。 有一串整数-55,-54,-53,......,问:(1)第100个整数是什么?(2)求这100个整数的和。 定义函数A5,输入n个整数,求这n个整数之中的偶数个数和偶数平均数并输出。