查找特殊类型的数字 - 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

相关文章