우리는 정수가 주어졌고 그 과제는 한 자리의 짝수와 홀수를 세는 것입니다. 또한 정수의 짝수 자리가 짝수 번 발생하는지, 정수의 홀수 자리가 홀수번 발생하는지 계속 확인합니다.
예
Input − digit = 12345 Output − count for even digits = 2 count for odd digits = 3
설명 − 예, 또한 짝수 자릿수는 짝수 번 발생합니다. 즉 2번, 홀수 자릿수가 홀수번 발생하면 3번
Input − digit = 44556 Output − count for even digits = 3 count for odd digits = 2
설명-:아니오, 짝수가 홀수 횟수(예:3) 발생하고 홀수 자리가 짝수 횟수(예:2) 발생하므로 아니오
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
-
홀수와 짝수로 구성된 정수값 입력
-
홀수를 세는 변수와 짝수를 세는 변수를 두 개 선언하고 0으로 초기화합니다.
-
숫자가 0보다 큰 동안 루프를 시작하고 정수의 개별 숫자를 가져올 수 있도록 "digit/10"으로 감소시킵니다.
-
숫자가 짝수보다 나누어 떨어지면 홀수입니다.
-
찾은 자릿수가 짝수이면 짝수 카운트를 1 증가하고 찾은 자릿수가 홀수이면 홀수 카운트를 1 증가
-
이제 짝수가 짝수 번 발생하는지 확인하려면 짝수번을 2로 나누고 0이면 짝수번이고 홀수번이면 홀수번 발생합니다.
-
그리고 홀수 자리가 홀수 번 발생하는지 확인하려면 홀수 횟수를 2로 나누고 !0이면 홀수번이고 홀수번이면 짝수번 발생합니다.
-
결과를 인쇄하십시오.
예시
#include <iostream> using namespace std; int main(){ int n = 12345, e_count = 0, o_count = 0; int flag; while (n > 0){ int rem = n % 10; if (rem % 2 == 0){ e_count++; } else { o_count++; } n = n / 10; } cout << "Count of Even numbers : "<< e_count; cout << "\nCount of Odd numbers : "<< o_count; // To check the count of even numbers is even and the // count of odd numbers is odd if (e_count % 2 == 0 && o_count % 2 != 0){ flag = 1; } else { flag = 0; } if (flag == 1){ cout << "\nYes " << endl; } else { cout << "\nNo " << endl; } return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Count of Even numbers : 2 Count of Odd numbers : 3 Yes