输入两个正整数m和n求其最大公约数和最小公倍数
用辗转相除法进行求解
#include<stdio.h>
int main()
{
int m,n,r,p,t;
while(~scanf("%d %d",&n,&m))//输入多组值
{
p=m*n;//科普:n个数的乘积与他们的最小公约数和最大公倍数的值相等
if(n>m)//将简答的值赋给m,否则交换他们的值
{
t=n;
n=m;
m=t;
}
while(n!=0)//辗转相除法求最大公约数
{
r=m%n;
m=n;
n=r;
}
printf("最大公约数为%d\n",m);
printf("最小公倍数为%d\n",p/m);
}
return 0;
}
辗转相除法:定义自己百度
拓展:求n个数的最小公倍数和最大公约数
运用递归的思想
#include<stdio.h>
int f( int x,int y)
{
int t,r,s;
if(x<y)
{
t=x;
x=y;
y=t;
}
while(y!=0)
{
r=x%y;
x=y;
y=r;
}s=x;
return s;//跟上面两个数的求最大公约数的方法一样
}
int main()
{
int n1,n2;
int i,n;
while(scanf("%d",&n)!=EOF)//输入n个整数,并可以输入多组
{
scanf("%d",&n1);//就相当于化学思想里的定一议二
for(i=1; i<n; i++)//一共输入n个数,已经输入n1,所以这次循环输入n-1个数
{
scanf("%d",&n2);
);//每次都将n1和n2的最小公倍数赋值n1,依次进行下去,这就是递归的思想
}
printf ("n个数的最小公倍数为%d\n",n1);
}
return 0;
}
//上面运用n1=(n1/f(n1,n2)*n2/f(n1,n2))*f(n1,n2)是有的题目中要求在int 范围内,n1*n2的值可能大于这个范围
这是我的理解。。。。。
分享到:
相关推荐
python 输入两个正整数计算最大公约数和最小公倍数 示例
Java练习题:输入两个正整数m和n,求其最大公因数和最小公倍数
求其最大公约数和最小公倍数输入两个正整数m和n,求其最大公约数和最小公倍数输入两个正整数m和n,求其最大公约数和最小公倍数输入两个正整数m和n,求其最大公约数和最小公倍数输入两个正整数m和n,求其最大公约数和...
从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。 输入 输入包括一行。 两个以空格分开的正整数。 输出 两个整数的最小公倍数和最大公约数。 样例输入 6 8 样例输出 24 2
Java求最大公约数、最小公倍数,输入两个正整数m和n,求其最大公约数和最小公倍数。最小公倍数可由原数除以最大公约数计算得到,这里使用了辗除法。
输入两个正整数m和n,求其最大公约数和最小公倍 数。
。。。
编程实现输入两个正整数,输出它们的最小公倍数和最大公约数.
python求最大公约数和最小公倍数 #辗转相除法 def gcd(a,b): #最大公约数函数,且最小公倍数 = 两个数相乘 / 最大公约数 if b == 0: return a else: return gcd(b,a%b) print("请输入两个数:") j,k = input()....
用LabVIEW求最大公约数和最小公倍数。可以自行选择数据。
输入两个正整数m和n,求其最大公约数和最小公倍数。
今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知...
输出m,n的最大公约数和最小公倍数,大家共同学习。
包含:1、辗转相除法函数嵌套盒图2、辗转相除法函数递归盒图3、穷举法求最小公倍数盒图4、穷举法求最大公约数流程图
c代码-输入两个正整数m和n,求其最大公约数和最小公倍数。
c++实现求得两数最小公倍数最大公约数 简单易行特地分享一下
包含了:1.辗转相除法函数嵌套流程图2.辗转相除法函数递归流程图3.穷举法求最小公倍数流程图4.穷举法求最大公约数流程图5.更相减损术流程图
show 程序代码 废话不多说,直接上程序片段 nummax,nummin=eval(input("请输入两个正整数,并用逗号连接:")) if (nummax % 1 !...print(str(nummax)+"和"+str(nummin)+"的最小公倍数数是:
java 辗转相除法 求两个数的最小公倍数 求三个数的最大公约数
主要介绍了输入两个正整数m和n,求其最大公约数和最小公倍数,需要的朋友可以参考下