Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อพิมพ์ “คู่” หรือ “คี่” โดยไม่ต้องใช้คำสั่งเงื่อนไข


ในส่วนนี้เราจะมาดูวิธีการตรวจสอบว่าตัวเลขเป็นเลขคี่หรือคู่โดยไม่ต้องใช้ประโยคเงื่อนไขใดๆ เช่น (<, <=, !=,>,>=, ==)

เราตรวจสอบเลขคี่หรือคู่ได้ง่ายๆ โดยใช้คำสั่งแบบมีเงื่อนไข เราสามารถหารจำนวนนั้นด้วย 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