在 C++ 中查找数字在偶数位和奇数位上的数字之和
假设我们有一个整数 N,我们需要找到奇数位和偶数位数字的和。例如,如果数字是 153654,则奇数位之和 = 9,偶数位之和 = 15。
为了解决这个问题,我们可以从最后一位提取所有数字,如果原始数字的位数是奇数,则最后一位必须是奇数位,否则是偶数位。处理一个数字后,我们可以将奇数位和偶数位的状态反转。
示例
#include<iostream> using namespace std; bool isOdd(int x){ if(x % 2 == 0) return false; return true; } void getSum(int n) { bool odd_check = isOdd(n); int odd_sum = 0, even_sum = 0; while (n != 0) { if (odd_check) odd_sum += n % 10; else even_sum += n % 10; odd_check = !odd_check; n /= 10; } cout << "Sum odd : " << odd_sum << endl; cout << "Sum even : " << even_sum; } int main() { int n = 153654; getSum(n); }
输出
Sum odd : 9 Sum even : 15
广告