OPTION BASE 0 PRINT PRINT "ソロバン進数 → 10進数" PRINT " ( ソロバン進数は、下桁から偶数位は1を超えず、" PRINT " 下桁から奇数位は4を超えません。 )" PRINT 10 INPUT PROMPT "ソロバン進数? ":n$ LET m=LEN(n$) FOR i=1 TO m IF MOD(m+i,2)=0 THEN IF VAL(mid$(n$,i,1))>4 THEN PRINT "これはソロバン進数ではありません。" PRINT GOTO 10 END IF ELSE IF VAL(mid$(n$,i,1))>1 THEN PRINT "これはソロバン進数ではありません。" PRINT GOTO 10 END IF END IF NEXT i DIM Q(m+1) MAT Q=ZER FOR i=1 TO m LET Q(i)=VAL(mid$(n$,i,1)) NEXT i LET W=0 FOR i=1 TO m STEP 2 IF MOD(m,2)=1 THEN LET W=W+Q(i)*10^INT((m-i)/2)+Q(i-1)*5*10^INT((m-i)/2) ELSE LET W=W+Q(i)*5*10^INT((m-i)/2)+Q(i+1)*10^INT((m-i)/2) END IF NEXT I PRINT " ↓" PRINT " ";W PRINT END