C语言 辗转相除法 求最大公约数

  1. 如果B=0,那么A就是最大公约数
  2. B!=0,计算A/B的余数,让A=B,而B等于余数

演示:

A=12 B=18 remainder=12

A=18 B=12 remainder=6

A=12 B=6 remainder=0

A=6 B=0 remainder=0

A=6 B=0 over

#include <stdio.h>
int main()
{
	int A, B, remainder;
	A = 12;
	B = 18;
	while (B != 0)
	{
		remainder = A % B;
		A = B;
		B = remainder;
	}
	printf("GCD=%d", A);
	return 0;
}
// 程序运行结果:GCD=6
// PS: A*B=GCD*LCM
posted @ 2020-05-06 21:45  予之路  阅读(386)  评论(0编辑  收藏  举报