在 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

更新於:2019-12-19

978 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.