在数字中查找封闭回路 - 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP