<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>aike</author_name>
  <author_url>https://blog.hatena.ne.jp/aike/</author_url>
  <blog_title>aike’s blog</blog_title>
  <blog_url>https://aike.hatenablog.com/</blog_url>
  <categories>
  </categories>
  <description>Lisperの人ならみんな知ってる竹内関数（たらいまわし関数）という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10（xは-1〜10）の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Faike.hatenablog.com%2Fentry%2F20111112&quot; title=&quot;竹内関数で音楽生成 - aike’s blog&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url>https://chart.apis.google.com/chart?cht=tx&amp;chl=%5Ctext%7BTarai%7D%28x%2Cy%2Cz%29%3D%5Cleft%5C%7B%7By%20%5Ctext%7B%20%20%20%20%20%20%20if%20%7D%20x%5Cleq%20y%5C%5C%5Ctext%7BTarai%7D%28%5Ctext%7BTarai%7D%28x-1%2Cy%2Cz%29%2C%5Ctext%7BTarai%7D%28y-1%2Cz%2Cx%29%2C%5Ctext%7BTarai%7D%28z-1%2Cx%2Cy%29%29%5Ctext%7B%20%20otherwise%7D%7D</image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2011-11-12 00:00:00</published>
  <title>竹内関数で音楽生成</title>
  <type>rich</type>
  <url>https://aike.hatenablog.com/entry/20111112</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
