Cho 2 số nguyên dương a và b. Hãy tìm ước chung lớn nhất của 2 số này

Cho 2 số nguyên dương a và b. Hãy tìm ước chung lớn nhất của 2 số này-24h68
#include<stdio.h>
#include<conio.h>

int main()
{
	int a, b;

	do{
		printf("\nNhap vao so nguyen duong a = ");
		scanf_s("%4d", &a);
		if (a < 0)
		{
			printf("\nGia tri nhap vao khong hop le. Xin kiem tra lai !");
		}
	} while (a < 0);

	do{
		printf("\nNhap vao so nguyen duong b = ");
		scanf_s("%4d", &b);
		if (b < 0)
		{
			printf("\nGia tri nhap vao khong hop le. Xin kiem tra lai !");
		}
	} while (b < 0);

	int Max = a > b ? a : b;
	int Min = a < b ? a : b;

	//for(int i = Min; i >= 1; i--)  // ước chung lớn nhất luôn là ước của min
	//{
	//	if(Max % i == 0 && Min % i == 0)
	//	{
	//		printf("\nUSCLN = %d", i);
	//		break;
	//	}
	//}

	// Cách 2:
	if (Max % Min == 0)
	{
		printf("\nUSCLN = %d", Min);
	}
	else
	{
		for (int i = Min / 2; i >= 1; i--)
		{
			if (Min % i == 0 && Max % i == 0)
			{
				printf("\nUSCLN = %d", i);
				break;
			}
		}
	}

	// Cách 3:
	while(a != b)
	{
		if(a > b)
			a = a - b;
		else
			b = b - a;
	}
	printf("\nUSCLN = %d", a); // hay in ra b cũng được vì  lúc này a == b
	getch();
	return 0;
}
Cho 2 số nguyên dương a và b. Hãy tìm ước chung lớn nhất của 2 số này-24h68
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
Theo dõi
Thông báo của
的头像-24h68
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận