查找特殊类型的数字 - JavaScript
javascriptweb developmentfront end technologyobject oriented programming
在十进制数系统中,所有实数都可以分为两组 −
- 有理数
- 无理数
对于这个问题的范围,我们将仅讨论有理数,
所有可以写成 p/q(其中 q !== 0)形式的数字都称为有理数。
例如 14、4.6、3.33333... 等等
有理数,进一步可以分为两组 −
- 终止小数
- 重复小数
此分类基于获得的结果用 p 除以 q。
此分类的要点是 −
- 当且仅当 q 的素因数只有 2 和 5 时,我们才会得到一个有界十进制数
如果 q 的素因数包括 2 或 5 以外的任何数字,我们才会得到一个循环十进制数。
因此,我们需要编写一个 JavaScript 函数,该函数接受一个表示 q 值的数字。如果对于该值我们可以得到一个有界十进制数,则我们的函数应返回 true,否则返回 false。
示例
以下是代码 −
const num = 1250; const isTerminating = num => { while(num !== 1){ if(num % 2 === 0){ num /= 2; }else if(num % 5 === 0){ num /= 5; }else{ return false; }; }; return true; }; console.log(isTerminating(num));
输出
这将在控制台中产生以下输出 −
true