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
-
C++を使用してゼロの数を見つけます
この問題では、0と1のみで構成されるバイナリ配列bin[]が与えられます。私たちのタスクは、ゼロの数を見つけることです。 。 配列は並べ替えられます。つまり、すべての0は1の後に一緒に配置されます。 問題を理解するために例を見てみましょう 入力 arr[] = {1, 1, 1, 0, 0, 0, 0} 出力 4 ソリューションアプローチ この問題の簡単な解決策は、配列が並べ替えられているという事実を使用することです。つまり、配列内の0の数は、配列内で最初に出現する0を使用して見つけることができます。最初の発生後と同様に、すべての値はゼロになります。 配列内で最初に出現する0
-
C++を使用して文字列の部分文字列の数を見つける
この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &