Lập trình căn bản C: Tìm ước chung lớn nhất, bội chung nhỏ nhất của 2 số a, b


Đề bài: nhập 2 số nguyên dương a,b. Tính ước số chung lớn nhất và bội chung nhỏ nhất của a,b.

Bài giải:

Cách 1:


#include <stdio.h>

int
main(){
int
a,b,uc,bc;
printf("Nhap (a,b): ");
scanf("%d%d",&a,&b);
for
(uc=a;uc>=1;uc--){
if
(a%uc==0 && b%uc==0){
printf("UCLN(%d,%d)=%d\n",a,b,uc);
break
;
}
}

for
(bc=a;bc<=a*b;bc++){
if
(bc%a==0 && bc%b==0){
printf("BCNN(%d,%d)=%d\n",a,b,bc);
break
;
}
}

return
0;
}

Cách 2:

#include <stdio.h>

int UCLN(int a,int b){
if
(a%b!=0)
return
UCLN(b,a%b);
else
return
b;
}


int
BCNN(int a,int b){
return
(a*b)/UCLN(a,b);
}


int
main(){
int
a,b,ucln,bcnn;
printf("Nhap (a,b): ");
scanf("%d%d",&a,&b);
ucln = UCLN(a,b);
printf("UCLN(%d,%d)=%d\n",a,b,ucln);
bcnn = BCNN(a,b);
printf("BCNN(%d,%d)=%d\n",a,b,bcnn);
return
0;
}

Bài liên quan

Bài liên quan