Đề 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;
}