【解決方法】Cプログラムを使って解く


正の整数 N を指定して、1 から N までのすべての素数の合計を計算します。

入力形式:

入力の最初の行には、テスト ケースの数を示す整数 T が含まれます。

各テスト ケースには、N を含む 1 行の入力が含まれます。

出力フォーマット:

テスト ケースごとに、新しい行に 1 から N までのすべての素数の合計を出力します。

制約:
1 <= T <= 100
1 <= N <= 100^6

サンプル テスト ケース
テスト ケース 1:
期待される出力:
2
5
10
10
17
テスト ケース 2:
期待される出力:
2
7
17
10
17

私が試したこと:

上記の正しい出力を取得できません

解決策 1

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

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

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

解決策 2

引用:

1 <= N <= 100^6

そのような要件について確信がありますか?
100^6 = 10^12 かなり大きな数です。使用する必要があります 64-ビット整数。

素数性テスト関数が必要です。たとえば、次を参照してください。 素数性テスト – ウィキペディア、フリー百科事典[^].

次に、最大の入力数の合計を計算すると、すべてのテスト ケースがカバーされることを考慮してください。

コメント

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