在C ++中计算整数中的偶数和奇数位

给我们一个整数,任务是计算一个数字中的偶数和奇数。另外,我们将继续检查整数中的偶数是否出现偶数次,并且整数中的奇数位是否出现奇数次。

例如

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

说明-是的,此外,偶数出现偶数次,即2,奇数位出现奇数次,即3

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

说明-:否,因为偶数出现的次数是奇数,即3,而奇数出现的次数是偶数,即2

以下程序中使用的方法如下

  • 输入由奇数和偶数组成的整数值

  • 声明两个变量,一个变量用于计数奇数位,另一个变量用于计数偶数位,并将其初始化为0。

  • 在数字大于0时开始循环,并用“ digit / 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;
   //要检查偶数的计数是偶数,则
   //奇数计数是奇数
   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