投稿
さんりょー Yoshi-Lupin0622
プチコンに階乗の命令がなかったので作ってみました。需要あるのかな…
7そうだね
プレイ済み
返信[1]
親投稿
ΖΕΧ ZEX256
POW
1そうだね
プレイ済み
返信[2]
親投稿
さんりょー Yoshi-Lupin0622
POWってべき乗じゃなかったですか?
0そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
おっと勘違いした
1そうだね
プレイ済み
返信[4]
親投稿
say sayer.exe
おいらも勘違いして調べ中だったorz
1そうだね
プレイ済み
返信[5]
親投稿
KU kerorinU
「再帰の方が速いって書こうと思ったがもう書いてあった」って書こうと思ったがまだ書かれてなかった
5そうだね
プレイ済み
返信[6]
親投稿
MIKI ifconfig
ええ!!! def よりも for のが遅いんですか!?!?!?!?
2そうだね
プレイ済み
返信[7]
親投稿
KU kerorinU
ぅおっと、よく考えたら関数呼び出すよりforの方が速いに決まっているではないか→10!を計算して代入を一万回ループに突っ込んでみた 結果 さんりょーさんのプログラム:maincntで62 再帰使用         :maincntで103 さんりょーさん、みき先生>すみませんでした
2そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
遅いことで有名な def より遅いって一体!?! と思いましたが、さすがにそれは無かったようで安心です。 先日れいさんが repeat > while > goto > for と言ってましたが、試しにやったら 10^7 回ループで for 11.2s while 8.9s repeat 7.7s と、forはrepeatの1.5倍遅いという結果に・・・ 配列といい、どんな実装したらこんな事になるのでしょうか!?!?
3そうだね
プレイ済み
返信[9]
親投稿
さんりょー Yoshi-Lupin0622
え、じゃあFORではなくREPEATを使えば速くなるんですか?
0そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
おそらくその通りです。
1そうだね
プレイ済み
返信[11]
親投稿
さんりょー Yoshi-Lupin0622
REPEATの方が遅くなったんですが…
0そうだね
プレイ済み
返信[12]
親投稿
otta777 otta777a
FOR~NEXTがWHILEやREPEATより遅くなってしまうのは 毎ループごとに初期値、終了値の評価やループ変数への 増分の加算行っているためでしょう。 FOR~NEXT命令の代わりにREPEAT命令を使う場合は REPEAT命令の前にループの終了条件を満たしていたら ループ内の処理をしない工夫をしましょう。 そうしないとFOR~NEXT命令と動作が変わって しまいますのでご注意を。
1そうだね
プレイ済み
返信[13]
親投稿
おちゃめ ochame_nako
最速のFOR~NEXTによる1000万回ループプログラムだと499フレームですね。 M%=MAINCNT A%=1 FOR I%=A%TO 10000000NEXT ?MAINCNT-M% WHILE~WENDやREPEAT~UNTILでも同じようにループ内でインクリメント処理を行い最速の1000万回ループを作ってみたところWHILE~WENDが442フレーム、REPEAT~UNTILが391フレームでした。 確かにFOR~NEXTは遅いですが、この「最速」という条件で統一するならばREPEAT~UNTILと比べても速度は1.27倍くらいの違いとなります。
1そうだね
プレイ済み
返信[14]
親投稿
さんりょー Yoshi-Lupin0622
.。oO(FOR TOのほうが分かりやすそうだし、そのままにしておこうかな…) 皆様、ご意見ありがとうございました!
0そうだね
プレイ済み