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

Đếm các phép quay của N là Lẻ và Chẵn trong C ++

Chúng ta được cho một số N. Mục đích là đếm các phép quay của N tạo thành số lẻ và các phép quay tạo thành số chẵn. Nếu số N là 123 các phép quay của nó sẽ là 123, 321, 132. Các phép quay lẻ là 123 và 321 (2) và phép quay chẵn là 132 (1).

Hãy cho chúng tôi hiểu với các ví dụ.

Đầu vào - N =54762

Đầu ra -

Đếm số phép quay của N là Lẻ là - 2

Đếm số phép quay của N là Chẵn - 3

Giải thích - Xoay vòng là -

54762, 25476, 62547, 76254, 47625.

Các vòng quay chẵn là 3 - 54762, 25476, 76254

Các vòng quay lẻ là 2 - 62547, 47625

Đầu vào - N =3571

Đầu ra

Đếm số phép quay của N là Lẻ là - 4

Đếm số phép quay của N là số Chẵn - 0

Giải thích - Xoay vòng là -

3571, 1357, 7135, 5713

Các vòng quay chẵn là 0 -

Các vòng quay lẻ là 4 - 3571, 1357, 7135, 5713

Cách tiếp cận được sử dụng trong chương trình dưới đây như sau

Số là lẻ hoặc chẵn có thể được kiểm tra bằng cách sử dụng các chữ số đơn vị là lẻ / chẵn. Trong khi xoay một số, tất cả các chữ số sẽ là chữ số hàng đơn vị. Vì vậy, chúng tôi sẽ chia số cho 10 và kiểm tra xem chữ số hàng đơn vị có phải là số chẵn / lẻ và các số đếm tương ứng hay không.

  • Lấy số dưới dạng số nguyên N.

  • Hàm Even_Odd_rotation (int N) lấy số N và in ra số lượng các phép quay chẵn và lẻ.

  • Lấy số lượng ban đầu là Even_rotation và Odd_rotation.

  • Sử dụng vòng lặp do-while lấy giá trị =N% 10 cho chữ số hàng đơn vị.

  • Nếu giá trị% 2 ==0, nó là giá trị chẵn tăng Even_rotation, khác thì tăng Odd_rotation

  • Giảm N đi 10 cho chữ số hàng đơn vị tiếp theo.

  • In Even_rotation dưới dạng các phép quay của N là số chẵn.

  • In Odd_rotation dưới dạng các phép quay của N là số chẵn.

Ví dụ

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

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Count of rotations of N which are Odd are: 2
Count of rotations of N which are Even are: 1