|
問題
金貨の入った袋が5袋ある。
4袋には10gの金貨が入っているが、1袋だけ9gの金貨が入っている。
グラム単位で量れる秤を1回だけ使って、どの袋が9gの金貨が入っているのか当てよ。
答え
それぞれの袋から、0,1,2,3,4枚とる。
全部10gなら、10x(0+1+2+3+4)=100gとなるが、9gのものがあるのでその分軽くなる。
100gよりAg軽かったら、A枚とった袋が9gである。
(終り)
LET N=5 !袋の個数
DATA 10,10,10,9,10 !A,B,C,D,Eの順に
DIM S(N)
MAT READ S
MAT PRINT S; !debug
LET T=0
FOR i=1 TO N
LET T=T+S(i)*(i-1) !0,1,2,3,4
NEXT i
PRINT 10*(N-1)*N/2-T+1;"番目"
!その2 m進法
LET T=0
FOR i=1 TO N
LET T=T+(S(i)-9)*2^(i-1) !1,2,4,8,16,…
NEXT i
PRINT T !debug
FOR i=1 TO N !A,B,C,D,Eの順に
PRINT MOD(T,2); !0:9g、1:10gを表す
LET T=INT(T/2)
NEXT i
PRINT
!その3 デジタル表示
LET T=0
FOR i=1 TO N
LET T=T+S(i)*100^(N-i) !100^0,100^1,100^2,100^3,…
NEXT i
PRINT T;"番目"
END
|
|