【解決方法】偶数繰り返しを見つける C プログラム

プログラミングQA


5 桁の数 N が与えられたとき、2 回以上繰り返される数字を見つけます。 R を N で n 回繰り返すとします。t を R^n の値とします。 t が偶数の場合は YES を出力し、そうでない場合は NO を出力します。 数字が繰り返されない場合、出力は素晴らしいはずです。

私が試したこと:

私は混乱しています…これを解決するには何を使用すればよいですか?

解決策 1

私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.

だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。

私は質問を読むことから始めます.2つの部分があります:
1) 桁を探す R それが繰り返されます(または、複数ある場合は少なくとも最初のものを見つけます:12321には1と2の両方が繰り返されます)。
2) 何回繰り返すかを求める n

3) r^n を計算し、偶数か奇数かを確認します。

ステップ (3) は単純化できますが、割り当てが具体的であるため、単純化すべきではありません。 (x のすべての正の値について、x^n は、x が偶数の場合は常に偶数であり、x が奇数の場合は奇数です。)

したがって、ステップ 1 を実装して、多くのテストを行います。数字の繰り返しがない N の値を含め、考えられるすべての入力に対して機能することを確認してください。
それが機能したら、コードを追加してカウントを取得します n そしてそれをもう一度テストします。
それが機能したら、3 番目のステップを見てください。

C の ^ はバイナリ XOR 演算子であるため、代入で t が “R の力に n” 使用できません – を使用する必要があります pow 機能するか、それを行う独自のコードを記述します。

開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]

解決策 2

引用:

私は混乱しています…これを解決するには何を使用すればよいですか?

5 桁の数字のサンプルをいくつか取り、手で問題を解いてください。 一枚の紙と鉛筆を取り、先に進みます。
アドバイス: 要件を注意深く読み直してください。すべてが重要です。
手で解く方法をマスターしたら、それは基本的にあなたの解法アルゴリズムです。

各桁の数を数える必要がある場合があります (1、2、3 の数 …)

コメント

タイトルとURLをコピーしました