News Ticker

Menu

Bài 62: 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.


#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;
}

Share This:

Post Tags:

Welcome To Task Marks

I'm Task Marks. Tôi là chủ trang web này, trang này tôi dùng để chia sẽ tài liệu và những thứ linh tinh khác. Cảm ơn mọi người đã ghé thăm trang web của chúng tôi.Nếu có thắt mắt xin vui lòng liên hệ
Mail: devnguhoc@gmail.com

No Comment to " Bài 62: 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. "

  • To add an Emoticons Show Icons
  • To add code Use [pre]code here[/pre]
  • To add an Image Use [img]IMAGE-URL-HERE[/img]
  • To add Youtube video just paste a video link like http://www.youtube.com/watch?v=0x_gnfpL3RM