23

クリスマスプレゼントとして、素数を計算するための小さなプログラムをJavaで作成しました。私の意図は、それを一晩中置いておき、次の素数を計算して.txtファイルに書き込むことでした。朝、私はプログラムを終了し、クリスマスのために.txtファイルを友達に持っていきました。

気になることはありますか?これはあなたが話している真の初心者のZiggyであり、ASMの人をチェックする賢いエラーではないことを覚えておいてください。

編集より具体的には、私はこのプログラムを一晩中素数を数えることにしているので、ある種のメモリ関連のエラーに遭遇する可能性はありますか?積み重ねて山を砕いたり、犬や猫が一緒に寝たりしますか?

さらに具体的に編集すると、ファイルのサイズが4GBのときに行の印刷を停止するために入力できるコード行はありますか?安全のためだけに?

編集:成功:一晩中それを残した後、私は13 KBの素数しか得られませんでした、私が得た最高は22947217で、これは数万の素数のようなものです。成功!

4

11 に答える 11

17

計算する素数ごとにSMSメッセージを送信することをお勧めします。あなたの友人は、一束の紙よりもはるかに良いことを望んでいます。さらに、彼はもっと頻繁に更新することができます。

于 2008-12-24T16:51:28.937 に答える
8

制限はたくさんありますが、.txtファイルに固有のものはありません。

  • Windows9xメモ帳は64KBを超えるファイルを開きません。
  • Windows NT / 2k / etcのメモ帳には制限はありませんが、数メガバイトのファイルを詰まらせてロックする傾向があります。また、ほとんどのテキストエディタは馬鹿げていることを覚えて、ファイル全体をRAMに読み込もうとする必要があります。
  • 多くのソフトウェアは、署名されたintと署名されていないintのどちらを使用するかに応じて、2GBまたは4GBのファイルに制限されます。
于 2008-12-24T16:56:40.640 に答える
7

遅いアルゴリズムを使用している可能性が高いです。素数が大きくなるにつれて、プログラムは単一の素数を計算するのにますます時間がかかります。一晩実行した場合、テキスト ファイルは朝にはそれほど大きくなりません。それが数メガを超えていれば、私は感銘を受けます。

于 2008-12-24T17:23:42.850 に答える
2

技術的には、ファイルシステムが設定するもの以外に制限はありません。ただし、メモ帳は、わいせつな大きなファイルを開くことに非常に不機嫌です。

于 2008-12-24T16:51:15.533 に答える
2

各ファイルに書き込んだバイト数を追跡​​し、数バイト後に新しいファイルに切り替えることを検討してください。また、ファイルのビューアを提供して、友人が自分の贈り物をより簡単に確認できるようにすることもできます。:)

于 2008-12-24T16:53:52.223 に答える
1

メモリが機能する場合、FAT32のファイル制限サイズは4ギガです。

于 2008-12-24T16:53:05.827 に答える
1

ジギー-

私はこれが大好きです:「ASMの人をチェックする賢いエラーではありません」。あなたは私たち全員を説明しています!

十分なディスク容量を確保して、書き留めてください。前述のように、ファイルを開くために使用するエディターが非常に大きなファイルを開くことができることを確認してください。

幸せな休日、真の初心者ジギー。

于 2008-12-24T16:54:46.637 に答える
0

テキストファイルをディスクに保存する場所のサイズについてのみ。

そして、あなたがそれをすべてすぐに書いていなければ、あなたのメモリ+仮想メモリ。

于 2008-12-24T16:49:10.093 に答える
0

どういうわけか、プログラムを一晩実行する場合、数値が大きくなるにつれて素数を見つけるのに時間がかかることを考えると、ファイルサイズが問題になるとは思えません。必ずクリーンアップしてください。そうしないと、RAMをすべて使い果たしてしまう可能性があります。

あなたの質問に答えるために:理論的には、ファイルシステムはファイルサイズを制限します。ただし、大きなファイル(> 100 MB)をロードすると、多くのテキストエディターがクラッシュします(vimはクラッシュしません)。これは、テキストエディターが1つのバッファーに収まろうとするためです。

要約すると、ファイルを最も弱いリンク(テキストエディタ)が処理できるチャンクに分割することを検討してください。

于 2008-12-25T21:14:00.417 に答える
0

いくつかの CPU サイクルを節約し、事前に計算された素数のリストをダウンロードするだけではどうですか? それとも「重要な考え」ですか?:)

于 2008-12-24T16:59:49.807 に答える
0

素数ごとに 1 つのファイルを作成し、そのファイル名を使用して数値を表示するだけではどうでしょうか?

于 2008-12-24T17:15:28.607 に答える