-
这个问题基本没有错,但是在求最大公约数时,如果两个数是共生的,那么它们的最大公约数是1,所以i的循环条件是i>=1
然后需要注意的是,您定义的输入格式需要用逗号分隔,而不是空格。
**注释给出了修改的位置。
#include
void main()
int i,j,n,m,max,min;
scanf("%d,%d",&m,&n);
if(n>m) i=m,j=n;
else i=n,j=m;
for(;i>=1;i--)////////////////if(m%i==0&&n%i==0)
max=i;break;}
for(;j<=n*m;j++)
if(j%m==0&&j%n==0)
min=j;break;}
printf("%d,%d",max,min);
正在运行的进程截图:
-
1.如果和else后面跟着两个语句,需要括起来{}2 u最大值和最小值没有初始值,那么在特殊情况下不会进入for循环,则print就是位置;
3 你不考虑 m 等于 n 的情况;
4 输入时需要有逗号,所以输入时必须是两个用逗号分隔的数字,否则只能读取一个值;
5 第一个条件应大于或等于 1
-
步骤1:求两个数的最小公因数,将短除法列为一列,用最小公因数除去这两个数,得到两个商;
第二步:然后找到两个商的最小公因数,用最小公因数去掉两个商,得到新水平的两个商;
第 3 步:依此类推,直到两个商是互质数(即两个商只有公因数 1);
第 4 步:将所有公因数和最后两个商相乘,乘积是我们需要的两个数字的最小公倍数。
示例 1:求激进型 3、12、20 的最小公倍数。
1) 找到橙袜芹菜数量的最大约定 3 和 12
2) 求 4 和 20 的最大公约数。
3) 将每个因子乘以 3 4 1 1 5 = 60
求最大公约数:
1)采用分解质因数的方法,将常见的质因数相乘。
2)以短除法的形式求两个数的最大公约数。
3)特殊情况:如果两个数是共生的,则它们的最大公约数是1。
如果两个数中较小的一个是较大数的除数,则较小的数是两个数的最大公约数。
-
首先,将两个数字除以公约数:
如:28和98
前面能被 28 和 98 整除的是 2 和 7,即最大公约数是 14,最小公倍数是 196,是 2、7、2 和 7 的乘积
所以两个数字的最小公倍数是 196,最大公约数是 14
int i,a=3,b=6;
int max=b;初始化 b 很大,如下判断,如果 a>b 给出一个最大值 >>>More
小数点后很多。 有公约数吗?
据说公约数是可整除的。 例如,2、4 和 6 的最大公约数是 2,即 10 (-18)。 >>>More
因为两个自然数最小公倍数为:180,最大公因数现在是 12 个,所以删除最大公约数他们的产品是:15。 >>>More