Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับการหมุนของ N ซึ่งเป็นเลขคี่และคู่ใน C++


เราได้รับตัวเลข 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 loop take value=N%10 สำหรับหน่วยหลัก

  • หากค่า%2==0 จะเป็นการเพิ่มขึ้นแบบคู่ขนาน มิฉะนั้นจะเพิ่ม 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