30/09/2018, 19:47
Đố vui giải trí cuối ngày [Bài toán vui]
nhập vào 3 số nguyên dương, xuất ra giá trị lớn nhất, giá trị nhỏ nhất.
KHÔNG dùng các cấu trúc điều kiện rẽ nhánh, không dùng sort (thực ra cũng chứa if) ,…
Nói tóm lại chỉ dùng các phép toán
Bài liên quan
Cái này mình quen, không biết thiếu sót gì không
Cái này mình làm theo trang bit-hack
https://graphics.stanford.edu/~seander/bithacks.html#IntegerMinOrMax
Không khác gì dùng điều kiện rẽ nhánh :)) Cách này có hợp lệ không
Find maximum of three number in C without using conditional statement and ternary operator
cách này của bác đúng kiểu lách luật :v nhưng do luật không nói rõ nên đành thêm luật vậy :v cấm dùng cấu trúc vòng lặp :3
cách này “chưa” đúng nhé bác :3 còn tại sao bác cứ từ từ sẽ ngẫm ra
cao siêu quá :3 nhưng mà đúng
Em có cao kiến thế này,Các bác xem giùm
Mình hỏi ngu phát :
Thế nếu làm được thì giải quyết được vấn đề gì ?
bác có thể giải thích cho mình 2 cái công thức return kia không?
Int a, b, c, Max, Min;
Max = a > b ? a : b;
Min = a > b ? b : a,
Max = Max > c ? Max : c;
Min = Min > c ? c : Min?
for fun thôi mà bạn
à tại vì c+ +
int a,b;
a/b mà không ép kiểu thì nó tự lấy phần nguyên luôn (khác làm tròn nhé)
ví dụ: 1/2=0; 2/3=0;1/3=0;
còn cái hàm thì chỉ để tính:
tổng các số có giá trị lớn nhất (trường hợp có 2 số bằng nhau)/ số số có giá trị lớn nhất
min thì ngược lại
đây là cấu trúc điều kiện mà bạn
Mình nhớ không nhầm là có công thức tính trực tiếp min, max của 3 số
mình đọc được công thức đó trên 1 trang luyện code online của brazil.
à ý mình hỏi là đoạn công thức ý, sao công thức đó lại tính ra đc số lớn nhất và nhỏ nhất?
à bạn thử lắp 1 số th vào cho dễ hiểu
Rồi chia thành 2 bài toán nhỏ:
Bài 1: Cho 2 số a,b tìm số số có giá trị lớn nhất nhìn câu hỏi có vẻ ngu nhưng cũng vui :v
TH1: a=b thì có 2 số
TH2: a#b thì có 1 số
Bài 2: Tính tổng của các giá trị lớn nhất.
TH1: a=b thì aa/b+bb/a=2a=2b;
TH2: a#b (không mất tính tổng quát giả sử a>b) thì aa/b+bb/a=a1+b0=a
p/s: Mình không giỏi giải thích hi vọng bạn hiểu