ในส่วนนี้เราจะมาดูวิธีการตรวจสอบว่าตัวเลขเป็นเลขคี่หรือคู่โดยไม่ต้องใช้ประโยคเงื่อนไขใดๆ เช่น (<, <=, !=,>,>=, ==)
เราตรวจสอบเลขคี่หรือคู่ได้ง่ายๆ โดยใช้คำสั่งแบบมีเงื่อนไข เราสามารถหารจำนวนนั้นด้วย 2 แล้วตรวจสอบว่าเศษที่เหลือเป็น 0 หรือไม่ ถ้า 0 แสดงว่าเป็นคู่ มิฉะนั้น เราสามารถดำเนินการ AND โดยใช้ตัวเลขและ 1 หากคำตอบคือ 0 แสดงว่าเป็นเลขคู่ หรือเป็นเลขคี่
ที่นี่ไม่สามารถใช้คำสั่งแบบมีเงื่อนไขได้ เราจะเห็นสองวิธีที่แตกต่างกันในการตรวจสอบ theodd หรือแม้กระทั่ง
วิธีที่ 1
ที่นี่เราจะสร้างอาร์เรย์ของสตริง ตำแหน่งดัชนี 0 จะถือ "คู่" และดัชนี 1 ตำแหน่งจะถือ "คี่" เราสามารถส่งส่วนที่เหลือหลังจากหารตัวเลขด้วย 2 เป็นดัชนีเพื่อให้ได้ผลลัพธ์โดยตรง
โค้ดตัวอย่าง
#include <iostream> using namespace std; main() { int n; string arr[2] = {"Even", "Odd"}; cout << "Enter a number: "; //take the number from the user cin >> n; cout << "The number is: " << arr[n%2]; //get the remainder to choose the string }
ผลลัพธ์ 1
Enter a number: 40 The number is: Even
ผลลัพธ์ 2
Enter a number: 89 The number is: Odd
วิธีที่ 2
นี่เป็นวิธีที่สอง ในวิธีนี้เราจะใช้ลูกเล่นบางอย่าง ที่นี่ใช้ตรรกะและตัวดำเนินการระดับบิต ตอนแรกเรากำลังดำเนินการ AND กับตัวเลขและ 1 จากนั้นใช้ตรรกะและเพื่อพิมพ์เลขคี่หรือคู่ เมื่อผลลัพธ์ของระดับบิต AND เป็น 1 เฉพาะ ANDoperation แบบลอจิคัลเท่านั้นที่จะส่งคืนผลลัพธ์คี่ ไม่เช่นนั้นจะคืนค่าเป็นคู่
โค้ดตัวอย่าง
#include <iostream> using namespace std; main() { int n; string arr[2] = {"Even", "Odd"}; cout << "Enter a number: "; //take the number from the user cin >> n; (n & 1 && cout << "odd")|| cout << "even"; //n & 1 will be 1 when 1 is present at LSb, so it is odd. }
ผลลัพธ์ 1
Enter a number: 40 even
ผลลัพธ์ 2
Enter a number: 89 odd