Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để in “Chẵn” hoặc “Lẻ” mà không sử dụng câu lệnh điều kiện

Trong phần này, chúng ta sẽ xem cách kiểm tra xem một số là số lẻ hay số chẵn mà không cần sử dụng bất kỳ loại câu lệnh điều kiện nào như (<, <=,! =,>,> =, ==).

Chúng ta có thể dễ dàng kiểm tra số lẻ hay chẵn bằng cách sử dụng các câu lệnh điều kiện. Chúng ta có thể chia số đó cho 2, sau đó kiểm tra xem phần dư có phải là 0 hay không. nếu 0, thì nó là số chẵn. Nếu không, chúng tôi có thể hoạt động tốt hơn phép toán AND với số và 1. Nếu câu trả lời là 0 thì nó là chẵn, ngược lại là lẻ.

Ở đây không có câu lệnh điều kiện nào có thể được sử dụng. Chúng ta sẽ thấy hai phương pháp khác nhau để kiểm tra theodd hoặc thậm chí.

Phương pháp 1

Ở đây chúng ta sẽ tạo một mảng các chuỗi. Vị trí chỉ số 0 sẽ giữ “Chẵn” và vị trí chỉ mục 1 sẽ giữ “Lẻ”. Chúng ta có thể gửi phần còn lại sau khi chia số cho 2 dưới dạng chỉ mục để nhận kết quả trực tiếp.

Mã mẫu

#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
}

Đầu ra 1

Enter a number: 40
The number is: Even

Đầu ra 2

Enter a number: 89
The number is: Odd

Phương pháp 2

Đây là phương pháp thứ hai. Trong phương pháp này, chúng tôi sẽ sử dụng một số thủ thuật. Ở đây các toán tử logic và bitwise được sử dụng. Lúc đầu, chúng tôi thực hiện phép toán AND với số và 1. Sau đó sử dụng ngôn ngữ học và in ra số lẻ hoặc chẵn. Khi kết quả của bitwise AND là 1, thì chỉ AND hợp lý mới trả về kết quả lẻ, nếu không nó sẽ trả về chẵn.

Mã mẫu

#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.
}

Đầu ra 1

Enter a number: 40
even

Đầu ra 2

Enter a number: 89
odd