プログラミングにおける複雑な問題を解決する場合、効率と精度が非常に重要となることがよくあります。特定の課題の 1 つは、N 個のサイコロの目に見える面の最大合計が X 以上であるかどうかを適切に判断することです。このペーパーでは、構文の説明や段階的なアルゴリズムなど、C コーディングにおけるこの困難を解決するためのさまざまなアプローチを評価します。さらに、提案されたアプローチに基づいた実際の完全な実行可能コード例を 2 つ提供します。最後には、N 個のサイコロの目に見える面の最大合計が X 以上であるかどうかを C でチェックする方法を明確に理解できるようになります。
###文法###方法 1
###アルゴリズム###サイコロ ベクトルの各要素を反復処理します。
各ダイスについて、面を降順に並べます。
最大の面 (並べ替え後の最初の要素) をvisibleSumに追加します。
visibleSum が X 以上になった場合は、true を返します。
反復の完了後に X 以上の表示可能な合計が見つからない場合は、false を返します。
説明
の中国語訳は次のとおりです:逆に、関連する反復と計算を行って調査を行っても上記の統計が見つからない場合は、明らかに未解決の疑問がさらにあることになります。
main 関数では、ユーザーにサイコロの数 (N) を入力するように求めます。各サイコロの面を保存するために、サイコロと呼ばれるベクトルのベクトルを作成します。次に、N 回繰り返し、サイコロごとに、面の数と面自体の入力をユーザーに求めます。これらの値をサイコロ ベクトルに保存します。
次に、ユーザーに最小合計 (X) を入力するよう求めます。 N、X、サイコロを checkVisibleSum 関数に渡します。したがって、目に見えるダイ面の最大可能合計が X 以上であるというメッセージを伝えます。しかし、この状況の前向きな見通しとは裏腹に、関数が実際には X に関連して望ましくない結果を生み出すことを学習した結果として、私たちは知識を公開する可能性があります。
方法 2
###アルゴリズム###
まず、変数visibleSumを0に初期化します。この変数には、表示されている面の合計が格納されます。
###例### リーリー ###出力### リーリー
説明
方法 2 では、最大の面を除く、各ダイの最初の N-1 個の面を合計します。これを実現するには、
以上がN 個のサイコロの目に見える面の最大合計が X 以上であるかどうかを確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。