|
問題
正整数A,B(B≠1)が与えられる。このとき、A=K*B^M+N を満たす非負整数K,M,Nを求めよ。
ただし、K(K<B)とMは最大とする。 例 10=1*2^3+2、20=2*3^2+2
S,K,Eをからめて解いてみます♪
LET A=10
LET B=2
!その1 割っていく
LET S=1 !B^M
LET K=A
LET M=0
DO WHILE K>=B !A>B^Mを満たす最大のMを求める
LET S=S*B
LET K=INT(K/B) !次へ
LET M=M+1
LOOP
LET N=A-K*S !余り
PRINT K;M;N !結果を表示する
!その2 かけていく
LET S=1 !B^M
LET E=S*B
LET M=0
DO WHILE A>=E !A>B^Mを満たす最大のMを求める
LET S=E
LET E=E*B !次へ
LET M=M+1
LOOP
LET K=INT(A/S) !最上位桁の値
LET N=A-K*S !余り
PRINT K;M;N !結果を表示する
END
|
|