Bài 23. Tìm ước số chung lớn nhất giữa hai số | Tự học lập trình C



Bài tập Tìm ước số chung lớn nhất giữa hai số


Bài toán: 

Nhập vào hai số nguyên a, b, tìm ước số chung lớn nhất giữa 2 số a, b và xuất kết quả ra màn hình.


Thuật toán tìm ước số chung lớn nhất:

TH 1: Nếu a == 0 hoặc b == 0 thì USQLN là (a+b)

Ví dụ: a = 0; b = 5; → USCLN = 5

TH 2: Nếu a!=0 và b!=0

Lặp:

Nếu a!=b

Nếu a>b →a = a -b

Ngược lại nếu b>a → b = b – a

Trả về a

Ví dụ: a = 6; b = 2;

Lặp:

L0: a=6 b=2

L1: a=6-2=4 b=2

L2: a=4-2=2 b=2

L3:  a==b → 2

Trả về: USCLN → 2


Video giải thích chi tiết về tìm ước số chung lớn nhất giữa hai số trong lập trình C



Code ví dụ


//23
#include "stdio.h"
#include "math.h"
int main(){
	int a, b, USCLN;
	
	printf("Nhap vao 2 so nguyen a b: ");
	scanf("%d%d", &a, &b);
	
	a = abs(a);
	b = abs(b);
	// TH1
	if(a==0 || b==0){
		USCLN = (a+b);
	}else{
		//TH2
		while(a!=b){
			if(a>b){
				a = a-b;
			}else{
				b = b-a;
			}
		}
		USCLN = a;	
	}
	
	printf("USCLN = %d", USCLN);
}


    

Bạn có thể thích những bài đăng này:

Không có nhận xét nào:

Đăng nhận xét