{"id":6653,"date":"2022-11-17T14:06:47","date_gmt":"2022-11-17T05:06:47","guid":{"rendered":"https:\/\/suzutukiblog.com\/?p=6653"},"modified":"2022-12-11T21:17:39","modified_gmt":"2022-12-11T12:17:39","slug":"recursive-function","status":"publish","type":"post","link":"https:\/\/suzutukiblog.com\/index.php\/2022\/11\/17\/recursive-function\/","title":{"rendered":"\u518d\u5e30\u95a2\u6570\u3067\u968e\u4e57\u3092\u6c42\u3081\u308b (Ruby)"},"content":{"rendered":"<h3>\u76ee\u6a19<\/h3>\n<p>\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5229\u7528\u3057\u305f\u65b9\u6cd5\u3067\u518d\u5e30\u95a2\u6570\u304c\u3088\u304f\u4f7f\u308f\u308c\u308b\u306e\u3067\u7df4\u7fd2\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b<\/p>\n<h1>\u305d\u3082\u305d\u3082\u518d\u5e30\u95a2\u6570\u3068\u306f\uff1f<\/h1>\n<p>\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306a\u3069\u3092\u8a18\u8ff0\u3059\u308b\u3068\u304d\u306b\u3001\u81ea\u5206\u81ea\u8eab\u3092\u5f15\u7528\u3059\u308b\u5f62\u3067\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3092<strong>\u518d\u5e30\u7684\u5b9a\u7fa9<\/strong>\u3068\u3044\u3044<br \/>\n\u81ea\u5206\u81ea\u8eab\u3092\u547c\u3073\u51fa\u3059\u95a2\u6570\u306e\u3053\u3068\u3092<strong>\u518d\u5e30\u95a2\u6570<\/strong>\u3068\u3044\u3044\u307e\u3059\u3002<\/p>\n<p>\u518d\u5e30\u95a2\u6570\u306e\u57fa\u672c\u7684\u306a\u30eb\u30fc\u30eb\u306f2\u3064\u3067\u3059\u3002<\/p>\n<p>1\uff1a\u81ea\u5206\u81ea\u8eab\u306e\u95a2\u6570\u3092\u7528\u3044\u3066\u3001\u554f\u984c\u3092\u5c11\u3057\u7c21\u5358\u306b\u3059\u308b\u305f\u3081\u306e\u8a08\u7b97\u5f0f\u3092\u305f\u3066\u308b<br \/>\n2\uff1a\u7c21\u5358\u306a\u30d1\u30bf\u30fc\u30f3\u306e\u5834\u5408\u306e\u7b54\u3048\u3092\u7528\u610f\u3059\u308b<\/p>\n<p>\u968e\u4e57\u3092\u6c42\u3081\u308b\u95a2\u6570factorial\u3092\u7528\u3044\u3066\u554f\u984c\u3092\u89e3\u3044\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>\u968e\u4e57(<span style=\"color: #666666; font-family: Consolas, Monaco, 'Lucida Console', monospace; font-size: 0.857143rem;\">factorial<\/span>)\u3092\u6c42\u3081\u308b\u30e1\u30bd\u30c3\u30c9<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-ruby\" data-lang=\"Ruby\"><code>def factorial(n) \r\n  if n &lt;= 0  \r\n\u3000#0! = 1\u306a\u306e\u30671\u3092\u8fd4\u3059\r\n     return 1\r\n  else\r\n   # \u52d5\u4f5c\u78ba\u8a8d\u7528\r\n   p n\r\n   #\u3053\u3053\u3067factorial\u81ea\u8eab\u3092\u547c\u3073\u51fa\u3059\r\n   return n * factorial(n-1) \r\n  end\r\nend\r\np factorial(5) #120<\/code><\/pre>\n<\/div>\n<h2>5! = 120\u306a\u306e\u3067\u554f\u984c\u306a\u3044\u3067\u3059\u306d\u3002<\/h2>\n<h3>p n\u3067\u52d5\u304d\u3092\u78ba\u8a8d\u3059\u308b\u3068\u30fb\u30fb\u30fb<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>5\r\n4\r\n3\r\n2\r\n1<\/code><\/pre>\n<\/div>\n<p>\u2191\u306e\u3088\u3046\u306bn\u306e\u5024\u304c\u5909\u5316\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>p n * fact(n-1) \u3067\u52d5\u304d\u3092\u78ba\u8a8d\u3059\u308b\u3068\u30fb\u30fb\u30fb<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>1\r\n2\r\n6\r\n24\r\n120<\/code><\/pre>\n<\/div>\n<p>\u2191\u306e\u3088\u3046\u306b\u51fa\u529b\u3055\u308c\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3055\u308c\u307e\u3059\u3002<br \/>\n\u3053\u308c\u306f\u518d\u5e30\u95a2\u6570\u3092\u4f7f\u308f\u306a\u3044\u3001each,times,while\u306a\u3069\u306e\u3088\u3046\u306a\u30eb\u30fc\u30d7\u3068\u306f\u6319\u52d5\u304c\u9055\u3044\u3001<br \/>\n\u521d\u3081\u3066\u4f7f\u3046\u5834\u5408\u306f\u306a\u305c\u3053\u306e\u3088\u3046\u306b\u306a\u308b\u306e\u304b\u6df7\u4e71\u3057\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067p\u30b3\u30de\u30f3\u30c9\u306a\u3069\u3067\u51e6\u7406\u306e\u6d41\u308c\u3092\u898b\u308b\u3053\u3068\u3067\u3069\u3046\u306a\u3063\u3066\u3044\u308b\u306e\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<h3>p &#8220;#{n} * #{fact(n-1)}&#8221; \u3067\u51e6\u7406\u3092\u78ba\u8a8d\u3057\u3066\u307f\u308b\u3068\u30fb\u30fb\u30fb<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>\"1 * 1\"\r\n\"2 * 1 * 1\"\r\n\"3 * 2 * 1 * 1\"\r\n\"4 * 3 * 2 * 1 * 1\"\r\n\"5 * 4 * 3 * 2 * 1 * 1\"\r\n\"5 * 4 * 3 * 2 * 1 * 1\"<\/code><\/pre>\n<\/div>\n<p>\u2191\u306e\u3088\u3046\u306b\u8a08\u7b97\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u306d\u3002<\/p>\n<p>\u5b9f\u969b\u306f\u3053\u306e\u3088\u3046\u306b\u52d5\u3044\u3066\u3044\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-ruby\" data-lang=\"Ruby\"><code>1\uff1afactorial(5)\u306ffactorial(4) \u00d7 5 \u3092\u8fd4\u3059\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u95a2\u6570factorial(4)\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002\r\n2\uff1afactorial(4)\u306ffactorial(3) \u00d7 4 \u3092\u8fd4\u3059\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u95a2\u6570factorial(3)\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002\r\n3\uff1afactorial(3)\u306ffactorial(2) \u00d7 3 \u3092\u8fd4\u3059\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u95a2\u6570factorial(2)\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002\r\n4\uff1afactorial(2)\u306ffactorial(1) \u00d7 2 \u3092\u8fd4\u3059\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u95a2\u6570factorial(1)\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002\r\n5: factorial(1)\u306ffactorial(0) \u00d7 1 \u3092\u8fd4\u3059\u3053\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u3001\u95a2\u6570factorial(0)\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002\r\n6\uff1afactorial(0)\u306fN&lt;=0\u306e\u6761\u4ef6\u3092\u307f\u305f\u3059\u306e\u30671\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n7\uff1afactorial(1)\u306ffactorial(0)\u306e\u547c\u3073\u51fa\u3057\u304c\u7d42\u308f\u3063\u305f\u306e\u30671 \u00d7 1 = 1\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n6\uff1afactorial(2)\u306ffactorial(1)\u306e\u547c\u3073\u51fa\u3057\u304c\u7d42\u308f\u3063\u305f\u306e\u30672 \u00d7 1 \u00d7 1 = 2\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n7\uff1afactorial(3)\u306ffactorial(1)\u306e\u547c\u3073\u51fa\u3057\u304c\u7d42\u308f\u3063\u305f\u306e\u30673 \u00d7 2 \u00d7 1 \u00d7 1= 6\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n8\uff1afactorial(4)\u306ffactorial(1)\u306e\u547c\u3073\u51fa\u3057\u304c\u7d42\u308f\u3063\u305f\u306e\u30674 \u00d7 3 \u00d7 2 \u00d7 1 \u00d7 1 = 24\u3092\u8fd4\u3057\u307e\u3059\u3002\r\n9\uff1afactorial(5)\u306ffactorial(1)\u306e\u547c\u3073\u51fa\u3057\u304c\u7d42\u308f\u3063\u305f\u306e\u30675 \u00d7 4 \u00d7 3 \u00d7 2 \u00d7 1 \u00d7 1 = 120\u3092\u8fd4\u3057\u307e\u3059<\/code><\/pre>\n<\/div>\n<p>\u3053\u308c\u306b\u3088\u308a5\uff5e9\u306e\u90e8\u5206\u304c\u51fa\u529b\u3055\u308c\u305f\u306e\u30671,2,6,24,120\u3068\u3044\u3046\u3088\u3046\u306b\u51fa\u529b\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u76ee\u6a19 \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5229\u7528\u3057\u305f\u65b9\u6cd5\u3067\u518d\u5e30\u95a2\u6570\u304c\u3088\u304f\u4f7f\u308f\u308c\u308b\u306e\u3067\u7df4\u7fd2\u3057\u3066\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b \u305d\u3082\u305d\u3082\u518d\u5e30\u95a2\u6570\u3068\u306f\uff1f \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306a\u3069\u3092\u8a18\u8ff0\u3059\u308b\u3068\u304d\u306b\u3001\u81ea\u5206\u81ea\u8eab\u3092\u5f15\u7528\u3059\u308b\u5f62\u3067\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3092\u518d\u5e30\u7684\u5b9a\u7fa9\u3068\u3044\u3044 \u81ea\u5206\u81ea\u8eab\u3092\u547c\u3073\u51fa\u3059\u95a2\u6570 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27,31],"tags":[],"class_list":["post-6653","post","type-post","status-publish","format-standard","hentry","category-programming-note","category-ruby"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/6653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=6653"}],"version-history":[{"count":8,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/6653\/revisions"}],"predecessor-version":[{"id":6884,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/6653\/revisions\/6884"}],"wp:attachment":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=6653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=6653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=6653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}