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