首页 > 其他分享 >最大公约数,最小公倍数

最大公约数,最小公倍数

时间:2022-10-22 14:46:30浏览次数:57  
标签:... 公倍数 最小 int 最大公约数 余数

#include <stdio.h>
int main()
{
	int a = 6;
	int b = 12;
	int r;
	int sum = a * b;
	
	r = a % b;
	
	while(r!=0){
		a = b;
		b = r;
		r = a % b;
	}
	printf("最大公约数%d\n", b);
	printf("最小公倍数%d\n", sum/b);
	
	return 0;
}

学习到:

  1. 辗转相除法求最大公约数
    eg:
    1997 / 615 = 3...152
    625 / 152 = 4 ...7
    152 / 7 = 21 ... 5
    7 / 5 = 1 ...2
    5 / 2 = 2 ...1
    2 / 1 = 2 ...0
    模式:
    大数/小数=商...余数
    小数/余数=商1...余数1
    余数/余数1=商2...余数2
    循环往复,直至余数为零
    此时1997与615最大公约数为1(余数为0式子中的除数即是最大公约数)
    另外:最初大数/小数与小数/大数结果是一样的,区别是多运算几次
  2. 最大公倍数与最小公约数关系
    求a与b最大公约数与最小公倍数
    假设最大公约数为m
    则最小公倍数n=a*b/m
    3.while与for循环使用情况
    while适合知道循环停止条件
    for适合知道循环次数

标签:...,公倍数,最小,int,最大公约数,余数
From: https://www.cnblogs.com/97rong/p/16816064.html

相关文章