トップ «前の日記(2016-05-26(Thu)) 最新 次の日記(2016-05-29(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-05-28(Sat) ぼんやりと曇ってるのは中も外も

竹内関数

てけとーに。Raspi2+にkernelが4.4.11+のraspbian。
GNU Common Lisp のオリジンが KyotoCommonLispだって話を知った。

>>(defun tak (x y z)
  (if (<= x y)
      y
      (tak (tak (1- x) y z)
   (tak (1- y) z x)
   (tak (1- z) x y))))
 
TAK
>>(time (tak 12 6 0))
 
real time       :    154.039 secs
run-gbc time    :    127.250 secs
child run time  :      0.000 secs
gbc time        :     16.340 secs
12

gaucheはスクリプトにしてみた。

#!/usr/bin/env gosh
(define tak
  (lambda (x y z)
    (if (<= x y)
        y
        (tak (tak (- x 1) y z)
             (tak (- y 1) z x)
             (tak (- z 1) x y)))))
 
(print (tak 12 6 0))
$ time ./ga.sh 
12
 
real    0m10.829s
user    0m10.100s
sys     0m0.050s

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。