我们给定一个数字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循环将单位数字的值= N%10。
如果值%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