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

นับเลขคู่และเลขคี่ในจำนวนเต็มใน C++


เราได้รับเลขจำนวนเต็มและภารกิจคือการนับเลขคู่และเลขคี่เป็นตัวเลข นอกจากนี้ เราจะคอยตรวจสอบว่าเลขคู่ในจำนวนเต็มเกิดขึ้นเป็นจำนวนคู่หรือไม่ และเลขคี่ในจำนวนเต็มนั้นเกิดขึ้นเป็นจำนวนคี่

ตัวอย่าง

Input − digit = 12345
Output − count for even digits = 2
      count for odd digits = 3

คำอธิบาย − ใช่ นอกจากนี้ ตัวเลขคู่ยังเกิดขึ้นเป็นจำนวนเท่า เช่น 2 และเลขคี่เกิดขึ้นเป็นจำนวนคี่ครั้ง เช่น 3

Input − digit = 44556
Output − count for even digits = 3
      count for odd digits = 2

คำอธิบาย-:ไม่ เนื่องจากเลขคู่เกิดขึ้นเป็นจำนวนคี่ เช่น 3 และเลขคี่เกิดขึ้นเป็นจำนวนคู่ เช่น 2

แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้

  • ป้อนค่าจำนวนเต็มที่ประกอบด้วยเลขคี่และเลขคู่

  • ประกาศตัวแปรสองตัว ตัวหนึ่งสำหรับการนับเลขคี่ และอีกตัวสำหรับการนับเลขคู่และเริ่มต้นพวกมันด้วย 0

  • เริ่มการวนซ้ำในขณะที่ตัวเลขมากกว่า 0 และลดระดับด้วย “หลัก/10” เพื่อให้เราดึงตัวเลขแต่ละหลักเป็นจำนวนเต็ม

  • หากตัวเลขหารด้วย มากกว่า จะเป็นเลขคู่ จะเป็นเลขคี่

  • หากพบตัวเลขเป็นเลขคู่ ให้เพิ่มจำนวนสำหรับเลขคู่ 1 และหากหลักที่พบเป็นเลขคี่ ให้เพิ่มจำนวนสำหรับเลขคี่ 1

  • ทีนี้ สำหรับการตรวจสอบว่าเลขคู่เกิดขึ้นเป็นจำนวนคู่หรือไม่ ให้หารจำนวนคู่ด้วย 2 ถ้ามันเป็น 0 มันก็จะเกิดเป็นจำนวนคู่ไม่เช่นนั้นจะเป็นจำนวนคี่

  • และสำหรับการตรวจสอบว่าเลขคี่เกิดขึ้นเป็นจำนวนคี่หรือไม่ ให้หารจำนวนคี่ด้วย 2 ถ้ามันมา !0 มันจะเกิดเป็นจำนวนคี่ไม่เช่นนั้นจะเป็นจำนวนคู่

  • พิมพ์ผลลัพธ์

ตัวอย่าง

#include <iostream>
using namespace std;
int main(){
   int n = 12345, e_count = 0, o_count = 0;
   int flag;
   while (n > 0){
      int rem = n % 10;
      if (rem % 2 == 0){
         e_count++;
      } else {
         o_count++;
      }
      n = n / 10;
   }
   cout << "Count of Even numbers : "<< e_count;
   cout << "\nCount of Odd numbers : "<< o_count;
   // To check the count of even numbers is even and the
   // count of odd numbers is odd
   if (e_count % 2 == 0 && o_count % 2 != 0){
      flag = 1;
   } else {
      flag = 0;
   }
   if (flag == 1){
      cout << "\nYes " << endl;
   } else {
      cout << "\nNo " << endl;
   }
   return 0;
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

Count of Even numbers : 2
Count of Odd numbers : 3
Yes