이 섹션에서는 (<, <=, !=,>,>=, ==)와 같은 조건문을 사용하지 않고 숫자가 홀수인지 짝수인지 확인하는 방법을 볼 것입니다.
조건문을 사용하여 홀수 또는 짝수를 쉽게 확인할 수 있습니다. 숫자를 2로 나눈 다음 나머지가 0인지 확인할 수 있습니다. 0이면 짝수입니다. 그렇지 않으면 숫자와 1로 AND 연산을 수행할 수 있습니다. 답이 0이면 짝수이고 그렇지 않으면 홀수입니다.
여기에서는 조건문을 사용할 수 없습니다. 홀수 또는 짝수를 확인하는 두 가지 다른 방법이 있습니다.
방법 1
여기서 우리는 문자열 배열을 생성할 것입니다. 인덱스 0 위치는 "짝수"를 유지하고 인덱스 1 위치는 "홀수"를 유지합니다. 숫자를 2로 나눈 나머지를 인덱스로 보내어 직접 결과를 얻을 수 있습니다.
예시 코드
#include<stdio.h> main() { int n; char* arr[2] = {"Even", "Odd"}; printf("Enter a number: "); //take the number from the user scanf("%d", &n); printf("The number is: %s", 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
이것이 두 번째 방법입니다. 이 방법에서는 몇 가지 트릭을 사용합니다. 여기서 논리 및 비트 연산자가 사용됩니다. 처음에는 숫자와 1을 사용하여 AND 연산을 수행합니다. 그런 다음 논리 및 를 사용하여 홀수 또는 짝수를 인쇄합니다. 비트 AND의 결과가 1이면 논리적 AND 연산만 홀수 결과를 반환하고, 그렇지 않으면 짝수를 반환합니다.
예시 코드
#include<stdio.h> main() { int n; char *arr[2] = {"Even", "Odd"}; printf("Enter a number: "); //take the number from the user scanf("%d", &n); (n & 1 && printf("odd"))|| printf("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