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时,用“digit/10”递减它,这样我们就可以获取整数中的个位数字。
如果数字能被2整除,则为偶数,否则为奇数。
如果找到的数字是偶数,则偶数计数加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
广告