◆東京都 明 さんからの解答
●確認用のプログラム
LET N=4 !有効な数値
DIM NB(10)
DATA 7,17,27,37,47,57,67,77,87,97
MAT READ NB
FOR J=1 TO 10
LET D=NB(J)
LET M=1
CALL main
PRINT
NEXT J
STOP
SUB main
IF MOD(D,N)=0 THEN EXIT SUB
PRINT "NUMBER =";D
LET P=0
DO
LET P=P+1
LET NO=4^P
LET CT=0
DO
CALL calc
CALL check
LET END=0
LET CT=CT+1
IF CT=NO THEN EXIT DO
LOOP
LOOP UNTIL M=0
PRINT "たたいた回数:";P+1
END SUB
SUB calc
LET OPN=CT
LET OC=P
LET S=N
DO
LET OP=MOD(OPN,4)
LET OPN=INT(OPN/4)
SELECT CASE OP
CASE 0
LET S=S-N
CASE 1
LET S=S/N
CASE 2
LET S=S+N
CASE 3
LET S=S*N
END SELECT
LET OC=OC-1
LOOP UNTIL OC=0
END SUB
SUB check
IF S<=0 THEN EXIT SUB
IF D=S THEN
LET M=0
CALL print
END IF
END SUB
SUB print
LET OPN=CT
LET OC=P
LET NB$=STR$(N)
LET CH$="C" & NB$
DO
LET OP=MOD(OPN,4)
LET OPN=INT(OPN/4)
SELECT CASE OP
CASE 0
LET CH$=CH$ & "-" & NB$
CASE 1
LET CH$=CH$ & "/" & NB$
CASE 2
LET CH$=CH$ & "+" & NB$
CASE 3
LET CH$=CH$ & "*" & NB$
END SELECT
LET OC=OC-1
LOOP UNTIL OC=0
LET CH$=CH$ & "=" & STR$(S)
PRINT CH$
END SUB
END
◆ 問題へもどる
◆ 今週の問題へ