Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หาผลรวมของตัวเลขในตำแหน่งคู่และคี่ใน C++


สมมุติว่า เรามีจำนวนเต็ม N เราต้องหาผลรวมของหลักคี่และหลักคู่ ดังนั้นหากตัวเลขเช่น 153654 ดังนั้น odd_sum =9 และeven_sum =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