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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP