우리에게 숫자 N이 주어졌습니다. 목표는 홀수를 만드는 N과 짝수를 만드는 회전을 계산하는 것입니다. 숫자 N이 123이면 회전은 123, 321, 132가 됩니다. 홀수 회전은 123 및 321(2)이고 짝수 회전은 132(1)입니다.
예를 들어 이해합시다.
입력 - N=54762
출력 -
홀수인 N의 회전 수는 − 2
입니다.짝수인 N의 회전 수는 - 3입니다.
설명 − 회전은 −
54762, 25476, 62547, 76254, 47625.
짝수 회전은 3 − 54762, 25476, 76254입니다.
홀수 회전은 2 − 62547, 47625입니다.
입력 - N=3571
출력
홀수인 N의 회전 수는 -4입니다.
짝수인 N의 회전 횟수 - 0
설명 − 회전은 −
3571, 1357, 7135, 5713
짝수 회전은 0 −
홀수 회전은 4 − 3571, 1357, 7135, 5713입니다.
아래 프로그램에서 사용한 접근 방식은 다음과 같습니다.
홀수 또는 짝수는 홀수/짝수로 단위 자릿수를 사용하여 확인할 수 있습니다. 숫자를 회전하는 동안 모든 자릿수는 단위 자릿수로 표시됩니다. 그래서 우리는 숫자를 10으로 나누고 단위 자릿수가 짝수/홀수인지 확인하고 각 카운트를 증가시킵니다.
-
숫자를 정수 N으로 취하십시오.
-
Even_Odd_rotation(int N) 함수는 숫자 N을 취하여 홀수 및 짝수 회전 수를 출력합니다.
-
초기 카운트를 Even_rotation 및 Odd_rotation으로 사용합니다.
-
do-while 루프를 사용하여 단위 자릿수에 대해 value=N%10을 취합니다.
-
value%2==0이면 Even_rotation이 짝수, 아니면 Odd_rotation이 증가합니다.
-
다음 단위 자릿수에 대해 N을 10만큼 줄입니다.
-
Even_rotation을 짝수인 N의 회전으로 인쇄합니다.
-
Odd_rotation을 짝수인 N의 회전으로 인쇄합니다.
예시
#include <bits/stdc++.h> using namespace std; void Even_Odd_rotation(int N){ int Even_rotation = 0; int Odd_rotation = 0; do{ int value = N % 10; if(value % 2 == 1) { Odd_rotation++; } else { Even_rotation++; } N = N / 10; } while(N != 0); cout<<"Count of rotations of N which are Odd are: "<<Odd_rotation; cout<<"\nCount of rotations of N which are Even are: "<<Even_rotation; } int main(){ int N = 341; Even_Odd_rotation(N); return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Count of rotations of N which are Odd are: 2 Count of rotations of N which are Even are: 1