こんにちは、Yさと申します。
演習問題として、
数値を入力すると九九の数式を表示するプログラムを考えてみました。
...が、とりあえず適当に作ったので、ちょっと(^^;)効率が悪い気がします。
↓以下は速度テスト用に手を入れたバージョン
-----
BEGIN{
srand();
start = srand()
for(n=0; n<5000; ++n){
for(i=-10; i<100; ++i){
cnt=test99(i)
# print " -- パターン数:",cnt
}
}
srand()
print srand() - start
}
function test99(n, i,j,cnt){
cnt=0
if(1<=n && n<=81){
for(i=1; i<=9; ++i){
for(j=1; j<=9; ++j){
if(n==i*j){
# print n,"=",i,"×",j
++cnt
}
}
}
}
if(cnt==0){
# print n,"(゚д゚)ハァ?"
}
return cnt
}
-----
ちなみに↓といった環境で実行すると 40秒ほど処理に掛かってしまいます。
-----
OS 名 Microsoft Windows 2000 Professional
バージョン 5.0.2195 Service Pack 3 ビルド 2195
プロセッサ x86 Family 6 Model 8 Stepping 6 GenuineIntel ~797 Mhz
物理メモリの全容量 129,260 KB
物理メモリの空き容量 41,644 KB
仮想メモリの全容量 438,612 KB
仮想メモリの空き容量 231,560 KB
-----
...演習問題の回答例とするにはよろしくなさそうなので
改善点や他に良いアイディアなどございましたらぜひ投稿ください。
ネタふり、ネタふり(;^^ゞ