C ++
 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

  1. C++を使用して文字列の部分文字列の数を見つける

    この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &

  2. C++の文字列内の個別の部分文字列の数をカウントします

    文字列strが与えられた問題によると、与えられた文字列内のすべての部分文字列をカウントする必要があります。サブストリングは、既存のストリングの一部であり、サイズが既存のストリング以下である可能性があるストリングです。 例を使って問題とその解決策を理解しましょう。 入力 − str =wxyz; 出力 −個別の部分文字列の数は次のとおりです:10 説明 −カウントされる個別のサブストリングは− wxyz, wxy, wx, w, xyz, xy, x, yz, y, z so their count is 10 入力 − str =zzzz 出力 −個別の部分文字列の数は次の