Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 홀수 및 짝수인 N의 회전 수 계산

<시간/>

우리에게 숫자 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