トピック
hrt hirotoppap

メモリーについて

画像のような素数を計算するプログラム(あっているのかわからない)をつくったのですがINPUTで100000にすると26000ぐらいでメモリー不足 になるのですがどうしたらメモリー不足になりませんか?
1そうだね
プレイ済み
返信[1]
親投稿
SilverBlue Corei72630QM
幾つかのデータに分けて、DEF内で配列を使用して計算。(DEFは使用後メモリが解放される)
3そうだね
プレイ済み
返信[2]
親投稿
ぴくと kanau1203
まず配列a$は要らないと思います これを抜くだけでで結構メモリに余裕ができるはずです
2そうだね
プレイ済み
返信[3]
親投稿
HMF gunsofthemy
因みにFOR TOループの後者の変数Eなのですが、以前ネットで調べたところ、ある数{E}のルートの数{SQR(E)}までの数で素数と証明される数が出現しなければ、それ以降の数{SQR(E)<E}にそれが証明される数はないそうです。 要するにEをそのままループするのではなく、EをSQR()処理をすれば軽くなりますよ、多分。
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
E 以下の素数を全て表示したいのかな?? 配列は不要で、素数かどうかを判定する関数を作れば解決です。 'isprime(n): n が素数かどうか調べる。nは2以上の整数であること。素数なら 1 を返す、合成数なら 0 を返す。 def isprime(n) var i for i = 2 to n - 1 '2 から n-1までの整数で n を割る if n mod i == 0 then return 0 '割り切れたら素数でない next return 1 'どの数でも割り切れなかった。素数! end 2 から E について、 isprime(w) が 1 ならば ?w すればいいでしょう。
1そうだね
プレイ済み
返信[5]
親投稿
みなつ tksm372
私も、山歩きプログラムを作っているときに、マップを文字列の配列に格納しようとしておかしいなと思ったのですが、FREEMEMはすごく余ってるのに、メモリー不足になりますよね。。。 しかも、配列変数への代入とは関係なく、CHR$()を使ったときにメモリー不足のエラーが出た記憶があります。 同じ症状なんでしょうかね~(・・;)
0そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
文字列の配列はあまりいい感じしないですね~ 画像圧縮で使ってるけど、予想以上にメモリを食います。 あともしかしたらだけどメモリリークもしてるかも・・・ chr$() でエラーになった事は無いですね
0そうだね
プレイ済み
返信[7]
親投稿
hrt hirotoppap
ありがとうございました
0そうだね
プレイ済み