Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

e thấy khó hiểu chỗ này

08:51 22-08-2017 507 lượt xem 6 bình luận 09:34 22-08-2017

e có đoạn code,e k hiểu cách chạy ,tại sao kq nó in ra k phải là tất cả giá trị của các số a và b đều chia hết mà nó chỉ lấy cái giá trị lớn nhất ạ

int ucmax,a,b,i;
    cout<<"nhap a:";
    cin>>a;
    cout<<"nhap b:";
    cin>>b;
    for(i=1;i<=a;i++)
    {
        if((a%i==0)&&(b%i==0))
        {
            ucmax=i;
        }
    }
    cout<<"UCmax la:"<<ucmax<<endl;

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
hoangkimzxc đã bình luận 09:34 22-08-2017

ồ,ra là vậy,e cảm ơn ạ,e còn k nghĩ đc đến đoạn đấy ạ

hoangkimzxc đã bình luận 09:26 22-08-2017

à thế tại sao e cout ra i thì kq lại sai ạ,mà tại sao đã gán ucmax vs i r thì khi cout là ucmax thì kq đúng còn cout là i thì lại kq sai ạ,máy lúc đấy nó lại hiểu như nào ạ

hoangkimzxc đã bình luận 09:15 22-08-2017

à e biết r nãy có ng vừa chỉ cho e mà hình như logic vòng lặp nó như này phải k ạ:

cout trong vòng lặp thì nó in tất giá trị,còn cout ngoài vòng lặp thì nó chỉ in giá trị cuối ??? 

logic của vòng lặp là vậy ạ ?

N T đã bình luận 09:13 22-08-2017

Tại vì sau mỗi vòng lặp ucmax lại được gán 1 giá trị mới, cứ thế giá trị này tăng lên theo i sẽ là giá trị lớn nhất a và b đều chia hết.

Câu hỏi mới nhất