C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で長さLの文字列の魔法のペアの数を見つけます。


2つの文字列str1とstr2があるとすると、長さLの魔法のペアをいくつか見つける必要があります。すべてのインデックスIに対して、str1 [i]

アプローチは簡単です。ご覧のとおり、長さがL =1で、インデックスi =1が'a'を保持している場合、str1では、str2のインデックスi =1は'b'から'z'まで保持されるため、次の文字に対して25の組み合わせが保持されます。 24の組み合わせになるので、25 +24+になります。 。 。 +1=325。L=2の場合は3252になります。長さLの場合は325Lになります。非常に大きい場合は、モジュラス109を見つけます。

#include<iostream>
#include<cmath>
using namespace std;
int power(int a, unsigned int b, int mod) {
   int res = 1;
   a = a % mod;
   while (b > 0) {
      if (b & 1)
         res = (res * a) % mod;
      b = b >> 1;
      a = (a * a) % mod;
   }
   return res;
}
int main() {
   int L = 2, P = pow(10, 9);
   int res = power(325, L, P);
   cout << "Combinations: " << res << endl;
}

出力

Combinations: 105625

  1. C++を使用してゼロの数を見つけます

    この問題では、0と1のみで構成されるバイナリ配列bin[]が与えられます。私たちのタスクは、ゼロの数を見つけることです。 。 配列は並べ替えられます。つまり、すべての0は1の後に一緒に配置されます。 問題を理解するために例を見てみましょう 入力 arr[] = {1, 1, 1, 0, 0, 0, 0} 出力 4 ソリューションアプローチ この問題の簡単な解決策は、配列が並べ替えられているという事実を使用することです。つまり、配列内の0の数は、配列内で最初に出現する0を使用して見つけることができます。最初の発生後と同様に、すべての値はゼロになります。 配列内で最初に出現する0

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

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