사칙 연산으로 절댓값과 max 구하기

 
 
 
max = ((a+b)+|a-b|)/2;
 
int abs (a) { return (int)((unsigned int)a); } int max (a, b) { return (a + b + abs(a - b)) / 2; } int max3 (a, b, c) { return (max(max(a,b),c); }
 
function Min(x,y:integer):integer; Var d:integer; abs:integer; begin d:=x-y; abs:=d*(1-2*((3*d) div (3*d+1))); Result:=(x+y-abs) div 2; end;