Chào mọi người. e mới học lập trình và gặp phải 1 bài như vậy. Đề yêu cầu tìm số lớn nhất trong 2 số và yêu cầu viết tiếp code :
cout <<
Và đề cấm các kí tự sau
Mong mọi người giúp e
Chào mọi người. e mới học lập trình và gặp phải 1 bài như vậy. Đề yêu cầu tìm số lớn nhất trong 2 số và yêu cầu viết tiếp code :
cout <<
Và đề cấm các kí tự sau
Uầy, vậy sao xuất kết quả được nhỉ.
p/s: nếu ko thích ternary thì dùng trị tuyệt đối thôi.
e k biết nữa @@ đề nó bắt thế
Hi Trần Công.
Cái này bạn làm ở đâu thế ? Chứ cấm include thì có gì đó sai sai rồi.
P/S Làm thì chắc vẫn được thôi nhưng nó không hợp lý lắm.
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main()
{
int a=4,b=2;
bool k = a>b ? printf("So lon nhat la a"):printf("So lon nhat la b");
return 0;
}
(((unsigned long long)a - b) & 0x8000000000000000ull) ? b : a;
a, b phải là int hoặc bé hơn unsigned long long nếu ko thì bó tay :V
share link baif xem
(tổng + abs(hiệu)) / 2 = max;
(tổng - abs(hiệu)) / 2 = min;
đề của thầy trong UIT mọi người ạ :v nhưng e tìm ra cách giải rồi, cám ơn mọi người
// Source : https://toidicodedao.com/2015/07/14/mot-so-cau-phong-van-thu-vi-ve-lap-trinh/
int getMax(int a, int b) {
int c = a - b;
int k = (c << 31) & 0x1;
int max = a - k * c;
return max;
}
Không cho dùng shift luôn vì shift cũng viết là 2 dấu
<
. No branching (ternary cũng giống if ) thì hay xài.
nếu đề có cho pascal :
// implement từ code trên
function getMax(a, b : integer) : integer;
var c, k, max : integer;
begin
c := a - b;
k := (c SHL 31) AND 1;
Exit(a - (k * c));
end;