タイトル | : Re^5: SOSU6 素数を表示、カウントするテスト6 |
投稿日 | : 2024/03/05(火) 17:58 |
投稿者 | : としき |
参照先 | : http://toshiki.la.coocan.jp/ | 番 号 | : 11143 11141 番 konno さんへのコメント コメント数 1 |
> これも元は何かのサンプルソースで> LOCATE 1, 26, ,1 '%CursorOff> 多分これが元だと思います。> TBasicのマニュアルでは、終了位置を省略すると開始位置と同じ数値が入るらしいですが> このコメントでは、カーソルオフになっていますね? わからん。値を省略するとカーソルオフなんですかね。 N88だと、最後のパラメータなんでよく省略されていましたが、省略時は単にそれ以前 の値を引き継いでいました。> カーソルの高さ指定だと思います。TBasicでは、0が上で 15が下みたいです。あ、横方向ではなく、1つの文字の中の縦方向でしたか。 ということは、開始位置が0、終了位置を1と指定すると、アッパーラインのような感じ になるということですね。これはVzのCiとCoみたいに変更できるということですから、 使い方によっては便利かもしれない。> > FORのループを完了させずに途中で脱出すると、スタックにデータが詰みあがった> > ままになってしまうのだそうで。> うげ、これは知らなかったです。ヤバイかも・・・(>_<)いや、昔のインタプリタの時代の話ですから。 コンパイル型言語なら大丈夫なんじゃないかなぁ。 ただ、ループをまわす回数が増えても問題がないのに、ループの回数そのものが少ない にもかかわらず、そのループを呼び出す回数が増えると問題が出るという、謎の不具合 につながることがあって。 苦労させられた人はそれなりにいるはず。 ところで、それよりも、変なことに気がつきました。 #11097によると> 最も素朴な方法は、2 から √n 以下の素数まで順番に割っていくとあるのですが、コードの中にSQRT関係の関数がないようです。 これ、本当にこのアルゴリズムであっていますかね。 例えば、23が素数であるかを確認するためには√23以下の素数、つまり2と3で確認 すれば事足りるわけです。 コードを追いかけていませんが、まさか、5とか7でも割っているから余計に時間が かかっている、ということはないでしょうか。
- No.11143 一括表示へ - コメント元:11141 一括表示へ - [ 返信 ] [引用無し] pre