自然数の分割
Posted feedbacks - なでしこ
コードを生成してからそれを実行しています。
#mが大きくなると実行できませんorz
1 2 3 4 5 6 7 8 9 10 11 12 13 | n=5
m=3
CODEとは文字列;TMPとは配列
(m)回
CODE=CODE&リフレイン(タブ,回数-1)&"i{回数}で{n}から0まで繰り返す{~}"
CODE=CODE&リフレイン(タブ,m)&"もし("
(m)回
TMPに"i"&回数を配列追加
T1=TMPを"+"で配列結合;T2=TMPを`&","&`で配列結合
CODE=CODE&T1&"={n})なら,("&T2&")を表示"
#CODEを表示
EVAL(CODE)
|
6進数に基数変換して合計がnになるものを表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | n=5
m=3
t1="";t2=""
iで(6^m-1)から0まで繰り返す
文字列分解(TOSTR(ゼロ埋め(DEC2SIX(i),m)))
(m)回;t1=t1+_[回数-1];t2=t2&_[回数-1]&","
バイト右端削除(t2,1)
もし(t1=n)ならば,t2を表示
t1="";t2=""
●DEC2SIX(x)
sとは配列
もし(x=0)ならば、"0"で戻る
(x<>0)の間
(x%6)をsに配列追加;x=INT(x/6)
(sを配列逆順を""で配列結合)で戻る
|
すいませんボケてましたorzこれじゃnが5以外じゃ動かないですね;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | n=5
m=3
t1="";t2=""
iで((n+1)^m-1)から0まで繰り返す
文字列分解(TOSTR(ゼロ埋め(DEC2X(i,n+1),m)))
(m)回;t1=t1+_[回数-1];t2=t2&_[回数-1]&","
バイト右端削除(t2,1)
もし(t1=n)ならば,t2を表示
t1="";t2=""
●DEC2X(x,y)
sとは配列
もし(x=0)ならば、"0"で戻る
(x<>0)の間
(x%y)をsに配列追加;x=INT(x/y)
(sを配列逆順を""で配列結合)で戻る
|




herumi
#4099()
Rating1/1=1.00
[ reply ]