{"id":12069,"date":"2022-09-29T12:44:05","date_gmt":"2022-09-29T07:14:05","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/"},"modified":"2022-09-29T12:44:05","modified_gmt":"2022-09-29T07:14:05","slug":"solved-what-constitutes-a-stack-level-too-deep-error-code-kata","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/","title":{"rendered":"[Solved] What constitutes a stack level too deep error? Code Kata"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-23762680\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"23762680\" data-parentid=\"23762058\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Your <code>zeros<\/code> function is trying to do too much. It can&#8217;t calculate a factorial and at the same time count trailing zeroes in it.<\/p>\n<p>If you think about it, while you are calculating the factorial, number of trailing zeroes may (and will) change. You&#8217;re only interested in the final value. So first calculate that and only then count zeroes.<\/p>\n<pre><code># inefficient(!) recursive calculation of factorial\n# for more efficiency use loop\ndef factorial(n)\n  raise \"only positive values are allowed\" if n &lt; 0\n\n  return 1 if n == 0\n  n * factorial(n - 1)\nend\n\ndef zeros(n)\n  trailing_zeros(factorial(n))\nend\n\ndef trailing_zeros(number)\n sort_sum = number.to_s.split(\/\/).reverse\n counter = 0\n until sort_sum[counter] != \"0\"\n  counter += 1\n end\n counter\nend\n\nzeros(5) # =&gt; 1\nzeros(12) # =&gt; 2\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">6<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved What constitutes a stack level too deep error? Code Kata <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Your zeros function is trying to do too much. It can&#8217;t calculate a factorial and at the same time count trailing zeroes in it. If you think about it, while you are calculating the factorial, number of trailing zeroes may (and will) change. You&#8217;re only interested in the final value. So first calculate that &#8230; <a title=\"[Solved] What constitutes a stack level too deep error? Code Kata\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\" aria-label=\"More on [Solved] What constitutes a stack level too deep error? Code Kata\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[455],"class_list":["post-12069","post","type-post","status-publish","format-standard","hentry","category-solved","tag-ruby"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Your zeros function is trying to do too much. It can&#8217;t calculate a factorial and at the same time count trailing zeroes in it. If you think about it, while you are calculating the factorial, number of trailing zeroes may (and will) change. You&#8217;re only interested in the final value. So first calculate that ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-29T07:14:05+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] What constitutes a stack level too deep error? Code Kata\",\"datePublished\":\"2022-09-29T07:14:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\"},\"wordCount\":84,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"ruby\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\",\"name\":\"[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-29T07:14:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] What constitutes a stack level too deep error? Code Kata\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb","og_description":"[ad_1] Your zeros function is trying to do too much. It can&#8217;t calculate a factorial and at the same time count trailing zeroes in it. If you think about it, while you are calculating the factorial, number of trailing zeroes may (and will) change. You&#8217;re only interested in the final value. So first calculate that ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/","og_site_name":"JassWeb","article_published_time":"2022-09-29T07:14:05+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] What constitutes a stack level too deep error? Code Kata","datePublished":"2022-09-29T07:14:05+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/"},"wordCount":84,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["ruby"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/","url":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/","name":"[Solved] What constitutes a stack level too deep error? Code Kata - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-29T07:14:05+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-what-constitutes-a-stack-level-too-deep-error-code-kata\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] What constitutes a stack level too deep error? Code Kata"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=12069"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12069\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=12069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=12069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=12069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}