Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm tổng các chữ số của một số ở vị trí chẵn và lẻ trong C ++

Giả sử, chúng ta có một số nguyên N, Chúng ta phải tìm tổng các chữ số hàng lẻ và chữ số hàng chẵn. Vì vậy, nếu số giống như 153654, thì lẻ_sum =9 và thậm chí_sum =15.

Để giải quyết điều này, chúng ta có thể trích xuất tất cả các chữ số từ chữ số cuối cùng, nếu số ban đầu có số chữ số lẻ thì chữ số cuối cùng phải được đặt ở vị trí lẻ, nếu không sẽ được đặt ở vị trí chẵn. Sau khi xử lý một chữ số, chúng ta có thể đảo ngược trạng thái từ lẻ sang chẵn và ngược lại.

Ví dụ

#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);
}

Đầu ra

Sum odd : 9
Sum even : 15