サイズdで作成できる十二角形の数をカウントするC++プログラム
数dがあるとします。正方形のタイルと辺の長さが1の通常の三角形のタイルが無数にあると考えてください。これらのタイルを使用して、側面dの通常の十二角形(12辺の多角形)を形成できる方法をいくつ見つける必要があります。答えが大きすぎる場合は、結果mod998244353を返します。
ステップ
これを解決するために、次の手順に従います-
b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do: b := b * (floor of d/2) c := c * i return (b / c)
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; int solve(int d){ int b = ((d << 1) - 1); int c = 1; for (int i = 2; i < d; i++){ b *= (d << 1) - i; c *= i; } return (b / c); } int main(){ int d = 1; cout << solve(d) << endl; }
入力
1
出力
1
-
サイズdで作成できる十二角形の数をカウントするC++プログラム
数dがあるとします。正方形のタイルと辺の長さが1の通常の三角形のタイルが無数にあると考えてください。これらのタイルを使用して、側面dの通常の十二角形(12辺の多角形)を形成できる方法をいくつ見つける必要があります。答えが大きすぎる場合は、結果mod998244353を返します。 ステップ これを解決するために、次の手順に従います- b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do: b := b * (floor of
-
Pythonの文法規則を使用して作成できる文字列の数をカウントするプログラム
数nがあるとすると、次のルールを使用して生成できる長さnの文字列の数を見つける必要があります- 各文字は小文字の母音です[a、e、i、o、u] 「a」の後には1つの「e」のみを続けることができます 「e」の後には、「a」と「i」のいずれかのみを続けることができます 「i」の後に別の「i」を続けることはできません 「o」の後には、「i」と「u」のいずれかのみを続けることができます 「u」の後には1つの「a」のみを続けることができます 結果が非常に大きい場合は、結果を10 ^ 9+7で変更します。 したがって、入力がn =2の場合、出力は10になります