
8 7 9 3 5 2 1 4 6
4 7 8 1 9 2 5 6 3
2 5 4 3 6 7 9 8 1
2 1 4 6 8 9 3 7 5
8 3 1 2 6 4 9 5 7
のような9桁の順列をランダムに発生するプログラムを十進BASICで作ったのですが、ものすごく遅いです(^O^)。
稀に数秒でできることもありますが、ほとんど15秒以上かかります。
このコードではCでやっても遅いと思います。いい方法はないでしょうか?
DIM s(1 TO 9)
LET flg = 1
LET st = TIME
DO WHILE flg = 1
RANDOMIZE
FOR n = 1 TO 9
LET s(n) = INT(RND*9+1)
NEXT n
FOR n = 1 TO 9 !ここが遅い原因
FOR k = n+1 TO 9
IF s(n) = s(k) THEN GOTO 100
NEXT k
NEXT n
LET flg = 0
100
LOOP
FOR n = 1 TO 8
PRINT USING "# ": s(n);
NEXT n
PRINT USING "#": s(9);
LET ed = TIME
PRINT
PRINT
PRINT "所要時間 ";ed-st
END
No.1ベストアンサー
- 回答日時:
こんにちは。
何となくですが、乱数で、取り合えず9個の数字を適当に入れて、それが、
1~9まで1つずつ使われているかをチェックしている様に感じます。
例えば、最初にLET s(n)に1~9までを入れて、乱数で、配列内の入れ替えを
してはダメでしょうか? それなら、同じ数字を使っているかのチェックが
不要になりますので、処理スピードは毎回同じ様になるかと思います。
> 初にLET s(n)に1~9までを入れて、乱数で、配列内の入れ替えを
> してはダメでしょうか?
ああ、なるほど!
丁寧な回答まことにありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
配列のペースト出力結果の書式...
-
C#でbyte配列から画像を表示さ...
-
VB6からの移行したいけど、VB.N...
-
OutOfMemoryExceptionの回避策...
-
countif/sumifのようなVBA関数
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
Redim とEraseの違いは?
-
Dir関数で読み取り順を操作でき...
-
構造体配列内の文字列検索のよ...
-
エクセルの列一括書き込み
-
配列の中の最大値とそのインデ...
-
構造体配列の特定のメンバーをF...
-
VBA: Select Caseを短くしたい
-
クイズゲームのフォームについて
-
VB.NETの配列にExcelから読み込...
-
テキストボックの文字を一行ず...
-
配列の格納方法
-
大量の変数を定義するにはどう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
OutOfMemoryExceptionの回避策...
-
配列のペースト出力結果の書式...
-
VB.NETの配列にExcelから読み込...
-
レコードセットの中身を配列に...
-
配列の中の最大値とそのインデ...
-
VBAでMODE関数をつくる
-
大量の変数を定義するにはどう...
-
構造体配列内の文字列検索のよ...
-
COBOLの基本的な事なので...
-
構造体配列の特定のメンバーをF...
-
DBから取得した値を配列へ代入する
-
VB6からの移行したいけど、VB.N...
-
VBScriptでCSVファイルを読み出...
-
RPG 配列宣言について
-
コンボボックスのインデックス...
おすすめ情報