Archive for 2016年1月|Monthly archive page
newLISP マニュアル v.10.7.0 日本語訳公開
久々の安定版リリース。
新規関数として、統計でよく使われる二乗和関数 ssq が追加されています。
また、Windows 用に 64ビット版が用意されています。それに伴い、組込定数 ostype が Windows版では “Windows”になります。ご注意を。
ということで、newLISP の User Manual and Reference、GUI functions、Code Patterns の全訳のリリースです。
newlisp_manual-10700
guiserver_manual-171
CodePatterns-10700
こちらからダウンロードしてください。
目次も含め日本語併記にしてあります。
Lutz氏のご好意によりこちらから見ることもできます。
いつものように、間違いやおかしな点が有りましたら、こちらの blog までご一報ください。
以上、如何でしょうか?
projecteuler29
projecteuler の 問題29は、2 から 100 までの自然数を 2 乗から 100乗 して、同じものを除くと何個になるかという問題。
だから、スクリプトは単純、
(let (lst)
(for (i 2 100)
(for (j 2 100)
(push (apply * (cons 1L (dup i j))) lst -1)
)
)
(length (unique lst)))
こんな感じ。1L を cons しているのは、大整数にするため。100 乗するには 64 ビット整数では足りないですからね(笑)
(let (lst)
(for (i 2 100)
(for (j 2 100)
(push (apply * (map bigint (dup i j))) lst -1)
)
)
(length (unique lst)))
でも同じになります。
ここで bigint は整数を大整数に変換します。
また、unique は同一数値を除去してくれます。
これを実行すると
9183 >
と答えが求まります。
以上、如何でしょうか?