質問: 以下のようなコメントをもらいました > > 1 > > Linux なら mmap(),, Windows なら MapViewOfFile() とかでいかがでしょうか。 – masm 15時間前 > > > これは初めて知ったのでそのままの文面です > > 1 プラス投票済み位置づけにはfseek等を使用するようにしてみてはどうでしょうか?。また、atoi(fgetc(fp))は間違いのように思います。 – > > BLUEPIXY 15時間前 > > > このひとコメントで毎回承認されるレベルの回答書いてきます。 なので皮肉って返信書きました (たまにまと外すこともあるけど) > > 3数十万桁くらいなら、一桁あたり1バイトで 1MB にもならないので、楽にメモリに収まります。 – Hideki 14時間前 > > > こういう回答出てくると思っていました。 で桁数を多めにとってたんですけど計算めんどうだったので数十万で書いておきました。 もちろんこれにもソースがあって ここのイントが参考になってる6万程度じゃなかったかなぁと思ってたから10万ね このイントに従えば一次元配列でエラー 経験なければ普通にかける回答だなって mallocで確保しても引数がintだったら配列よりも1/sizeof(int)分小さくなるじゃん純粋な各補の仕方じゃ上手にできないよね C++なら気にせずstd::vector使えばCのそれよりも多く確保できるんだよねそれ回避のためにCのタグしか入れてない。 だから、メモリについて本気で答えるなら一番上のコメントしかないんですよ こんな回答ばっかり評価されて > > 1 プラス投票済み fp を先頭に戻すなら rewind() があります。 – masm 13時間前 > > > これも素直に書きました。知らなかったのですから。 > > 2 > > 「数十万桁」(数100KB)と「13.3兆」(13TB)とでは要件が明らかに異なります。「桁数はあくまで参考値です」などと質問内容を曖昧にしないでください。 > > – sayuri 1時間前 > > > ファイルのサイズは変わりましたが?どちらもパイですが?プログラムに求める要件はファイルサイズが基準ですか?パイが基準ですか? 私はパイを基準にしました コードにツッコミ入れてくれるのを期待しましたがなんか変なの帰ってきてるのでがっかりです。 まぁ。確かに時間を基準にするアルゴリズムとメモリを基準にするアルゴリズムこのどちらを求めているかまでは正しく書いてない 経験がない人から回答を得ると多くの時間と労力を消費する。ファイルを変えたら確実にもう一度ここで質問していたと思うよ。それはポイントのない人にとっては好都合だろうけど mallocで通用しなくなるまで、書いてメモリに保存するのはやめましょうなんて言われたら、設計に根本的な問題があった場合、大抵ここクローズでしょ? そんな運びされたらできるものもできないで終わってしまう それは問題がない?
回答: 私自身は投票はしてないのですが、質問とこのメタの質問を読んでも何を言っているのか理解できない文章が多くマイナス票入れられても仕方ないかなと思います。句読点がないとかくだけた口語調などの文法的な問題、技術的に意味不明、主題がない(単なるおしゃべり)、などが入り交じっているのが原因です。 もう一つ大きいのは「数十万桁」という当初の要件を「13兆桁を考慮しろ」と後出しで変更したうえ、当初の要件を元にした回答を揶揄するような返信を書かれたことです。こういうことをやられると質問回答のやりとりが成立しないしする気が無いと思われても仕方が無いです。一般論として人にものを尋ねる態度ではないですね。 SOはおしゃべりをする場ではありません。それはさておくとしても、おしゃべりがしたいならなおさら他人に理解してもらえるような文章を書く努力と礼儀が必要でしょう。