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