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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP