在数字中查找封闭回路 - JavaScript


0、4、6、8、9 这些数字除了都是自然数之外,还有一个共同点。这些数字都由其形状中至少一个封闭回路形成或包含一个封闭回路。

例如,数字 0 是封闭回路,8 包含两个封闭回路,4、6、9 各包含一个封闭回路。

我们需要编写一个 JavaScript 函数,它接收一个数字,并返回其所有数字中封闭回路的总和。

例如,如果数字为 4789

则输出应为 4,即

1 + 0 + 2 + 1

示例

以下为代码 −

const num = 4789;
const calculateClosedLoop = (num, {
   count,
   legend
} = {count: 0, legend: {'0': 1, '4': 1, '6': 1, '8': 2, '9': 1}}) => {
   if(num){
      return calculateClosedLoop(Math.floor(num / 10), {
         count: count + (legend[num % 10] || 0),
         legend
      });
   };
   return count;
};
console.log(calculateClosedLoop(num));

输出

以下为控制台中的输出 −

4

更新于: 18-9-2020

372 次浏览

开始你的事业

通过完成课程获得认证

开始
广告
© . All rights reserved.