Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
using namespace std;
int main(){
int a,b,m = 0;cin>>a>>b;
if ( a >= 0 ) m = a + 1;
else if ( a < 0 && b <= 0) m = b-1;
cout<<m;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Lần sau không nên sử dụng solution của các bạn dưới phần bình luận vậy đâu nha, nếu tự nghĩ thì có thể giải thích công thức nhé.
ầy toi đưa sol trước mờ check phần nộp link ấy
acc tên Duyanhle ấy vô check là ra ai nộp trước mà ;-;
oog dưới hnhu name là xinchaoVn toi nộp 2 days trc r ;))
giải thích công thức như sau : abs(b*m-a*m) đạt min -> abs(m*(b-a)) đạt min xét các TH như sau : nếu a > b> 0 -> min m thỏa mãn đề sẽ là a + 1, TH 2 a < 0 và b > 0 -> min là 0 ( vì m chạy từ âm đến dương chắc chắn chạy qua 0 ) TH 3 là cả 2 cái cùng âm - > để abs(m*(b-a)) min thì m = b-1 ( vì abs(b) > abs(a) vì có dấu trị tuyệt đối nên ta cần lấy giá trị nhỏ nhất là b-1) Rút gọngiải thích công thức như sau : abs(b*m-a*m) đạt min -> abs(m*(b-a)) đạt min xét các TH như sau : nếu a > b> 0 -> min m thỏa mãn đề sẽ là a + 1, TH 2 a < 0 và b > 0 -> min là 0 ( vì m chạy từ âm đến dương chắc chắn chạy qua 0 ) TH 3 là cả 2 cái cùng âm ... xem thêm
đặt m = 0 thì sẽ k cần check TH 2
Ok cảm ơn bạn.
CÂU HỎI MỚI NHẤT
giúp nhanh vs ạ đang cần gấp
giúp nhanh với ạ đang cần gấp
1428
25000
479
xin link
0
0
0
https://lqdoj.edu.vn/problem/23thtbgb1