Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

숫자 문자열의 짝수 부분 문자열 수를 계산하는 C++ 코드

<시간/>

n자리의 문자열 S가 있다고 가정합니다. S의 부분 문자열은 이 문자열이 나타내는 숫자도 짝수인 경우에도 짝수라고 합니다. 우리는 S의 짝수 부분 문자열의 수를 찾아야 합니다.

따라서 입력이 S ="1234"와 같으면 하위 문자열이 2, 4, 12,34, 234, 1234이기 때문에 출력은 6이 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

a := 0
n := size of S
for initialize i := 0, when i < n, update (increase i by 1), do:
   if S[i] mod 2 is same as 0, then:
      a := a + i + 1
return a

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
int solve(string S){
   int a = 0;
   int n = S.size();
   for (int i = 0; i < n; i++){
      if (S[i] % 2 == 0){
         a += i + 1;
      }
   }
   return a;
}
int main(){
   string S = "1234";
   cout << solve(S) << endl;
}

입력

1234

출력

6