Chủ Nhật, 3 tháng 1, 2016

Rút gọn phân số


Đề bài: nhập vào tử số, mẫu số (khác 0) của một phân số. Hãy rút gọn phân số này. Chú ý chọn dạng xuất thích hợp trong trường hợp mẫu số bằng 1 và phân số có dấu.

Gợi ý: để rút gọn một phân số, chia cả tử số và mẫu số cho UCLN của tử số và mẫu số.

Bài giải:

#include 
int UCLN(int a,int b){
    if (a%b!=0)
        return UCLN(b,a%b);
    else
        return b;
}
int main(){
    int t,m;
    printf("nhap phan so: ");
    scanf("%d%d",&t,&m);
    printf("phan so vua nhap: %d/%d\n",t,m);
    int ucln = UCLN(t,m);
    t=t/ucln;
    m=m/ucln;
    if (m!=1)
    {
        if (m<0){
            m=m*-1;
            t=t*-1;
        }
        printf("rut gon: %d/%d",t,m);
    }
    else{
        printf("rut gon: %d",t);
    }
    return 0;
}

0 nhận xét: