Mình cảm ơn nhiều
^^
Code tìm bội số chung nhỏ nhất và ước số chung lớn nhất của a và b bị sai
a * b
trước là tràn số đó phải chia trước.
gán a*b=c rồi chia sau được không ạ?
Cũng không tràn được, a * b
tối đa là 108 ^ 2
.
Cho bộ test sai nè:
1
9 9
Anh thử nghĩ xem sao lại sai đi nhé.
ra 9 9? Mình nghĩ Right chứ
Ước chung nhỏ nhất của 9 và 9 là 9 hay là 1 ạ
UCLN ^^, 9 mà bạn :((
Em đọc sai đề . Đợi em tí em tìm bộ khác xem. Khả năng chỉ ở 1 số bộ đặc biệt thôi. Nếu sai nữa thì chắc là do máy của trường rồi.
Hệ thống compiler online b ạ không biết lúc đi thi cũng cùng compiler đấy có hẹo không nữa
Có khi do kết quả đúng, nhưng “bộ kiểm định” làm “máy móc” quá.
Như:
9 9
khác với
9 9
^dấu cách ở cuối.
Hoặc:
9 9
khác với
9 9
Cũng có thể máy (thầy) trường làm sai.
int GCD (int a, int b) {
int tmp;
while(b != 0) {
tmp = a % b;
a = b;
b = tmp;
}
return a;
}
Mình thay bằng hàm GCD này thấy vẫn không được, cho cả trường hợp bằng 0 vào rồi ạ
thử với 2 số 70000 và 70000 là biết sai chỗ nào ~.~
thử luôn thêm 100 trường hợp 10^8 và 1 là thấy nó chạy chậm
Vậy anh thử đổi kí tự xuất ra màn hình xem. Đổi chỗ LCM và GCD ấy.
cout<<GCD(a,b)<<" "<<LCM(a,b);
Hoặc cũng có thể yêu cầu nhập tất cả bộ test mới đưa ra kết quả. Anh có ví dụ cho output không ạ.
Cũng có thể do tràn số như anh @tntxtnt nói, anh thay bằng unsigned long long int
để chống tràn luôn. Đóng bỉm cho biến.
để kiểu của LCM là long long được không ạ
thay cả của biến a,b nữa anh ạ. Tick solution cho anh ấy đi.
@Tu_Tran tick solution cho cmt này của anh @tntxtnt chứ không phải cmt của em -_-
mình tick rồi ây, chắc ấn nhầm
Cảm ơn mọi người nha. AC xanh rồi ạ ^^