ฟังก์ชั่นการเปรียบเทียบค่า2จำนวน

เริ่มโพสต์โดย hide goodbye, 16 ธ.ค. 2006, 01:26 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

hide goodbye

ฟังก์ชั่นการเปรียบเทียบค่าจำนวนสองจำนวนแบบไม่ซ้ำใคร

max(n1,n2){
return ((n1+n2)+abs(n1-n2))/2;
}

คำอธิบาย ถ้า n1มากกว่าหรือเท่ากับn2จะทำให้ค่าสมบูรณ์n1-n2เท่ากับn1-n2 และทำให้ ((n1+n2)+abs(n1-n2))/2 เท่ากับ (n1+n2+n1-n2)/2 เท่ากับ 2n1/2=n1
ในทางกลับกันถ้าn2มากกว่าหรือเท่ากับn1ค่าสมบูรณ์n1-n2จะเท่ากับ-(n1-n2) เท่ากับ n2-n1 และทำให้ ((n1+n2)+abs(n1-n2))/2 เท่ากับ (n1+n2+n2-n1)/2 เท่ากับ 2n2/2=n2


min(n1,n2){
return ((n1+n2)-abs(n1-n2))/2;
}

คำอธิบาย ทำนองเดียวกันกับmax

จริงๆก็ไม่ค่อยมีประโยชน์เท่าไหร่เพราะแต่ละภาษาก็จะมีฟังก์ชั่นเปรียบเทียบตัวเลขไว้ให้แล้ว เผื่อใครอยากได้อัลกอฯแบบแนวๆไปใช้แค่นั้นเองแหละ (แต่บางภาษาไม่มีฟังก์ชั่นเทียบค่านะครับ ยังไงก็แนวกว่าเขียนแบบ if else หน่อยนึง) 

SMF 2.1.7 © 2026, Simple Machines