コード: 全て選択
#N88BASIC
Dim f As DWord
Dim ff As DWord
Dim i As Long
*start
f=0
ff=0
i=0
Input "0~63の数値を入力してください>",f
if f > 63 then
Print "入力された数値は範囲内にありません"
goto *start
End If
Sub PRT(i As Long, ff As DWord)
Print Ex"分岐までの比較回数",i
Print Ex"入力された数値",ff
End Sub
i++
If f AND 32 Then
i++
ff+=32
If f AND 16 Then
i++
ff+=16
If f AND 8 Then
i++
ff+=8
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
Else
i++
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
End If
Else
i++
If f AND 8 Then
i++
ff+=8
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
Else
i++
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
End If
End If
Else
i++
If f AND 16 Then
i++
ff+=16
If f AND 8 Then
i++
ff+=8
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
Else
i++
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
End If
Else
i++
If f AND 8 Then
i++
ff+=8
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
Else
i++
If f AND 4 Then
i++
ff+=4
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
Else
i++
If f AND 2 Then
i++
ff+=2
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
Else
i++
If f AND 1 Then
ff+=1
PRT(i,ff)
Else
PRT(i,ff)
End If
End If
End If
End If
End If
End If
goto *start