Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
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;
ồ,ra là vậy,e cảm ơn ạ,e còn k nghĩ đc đến đoạn đấy ạ
à 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 ạ
à 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 ạ ?
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.