Hello World 多項式の係数を計算する Maxima プログラム
Hello World 多項式については id:yshl:20060925 参照。これがあればアリアリでもナシナシでも*1自由に簡単に多項式化できます。
display2d:false$ /* 文字列操作パッケージ */ load("stringproc")$ /* 文字列に改行を追加して文字のリストに変換 */ hello_list:charlist(simplode(["Hello, World!",newline]))$ /* 文字を符号化 */ hello_num:map(cint,hello_list)$ /* 多項式化 */ f:0.5$ len:length(hello_num)$ for n:1 thru len do ( f:f+hello_num[n]*product((x-i)/(n-i),i,1,n-1)*product((x-i)/(n-i),i,n+1,len) )$ /* この時点の f は x=1 の時最初の文字のコードを返す多項式。 * x=0 で最初の文字を返す為には 1 ずらす */ f:subst(x+1,x,f)$ /* 0 次の係数から順に小数で表示 */ for n:0 thru len-1 do ( print(float(coeff(expand(f),x,n))) )$
*1:「,」や「!」がそれぞれ有ったり無かったりすること。ELF Golf 紳士のスポ〜ツより。