在 JavaScript 中查找重复小数部分的长度
问题
我们需要编写一个JavaScript函数,它接受一个数字num作为第一个也是唯一的参数
我们的函数应该做两件事
首先,它应该检查这个数是否与10是素数,如果不是,我们应该返回-1(如果它们共享的唯一公因数是1,则该数与任何其他数都是素数)。
如果数字是10的质数,那么我们应该返回重复的小数部分的长度,当这个数字除以1时。
例如,如果函数的输入是-
输入
const num = 123;
输出
const output = 5;
输出说明
因为数字123与10肯定是质数
当我们将1除以123时,我们得到-
1 / 123 = 0.008130081300813…
这清楚地表明小数部分00813无限重复,其长度为5,因此我们的输出为5。
示例
以下是代码-
const num = 123; const findRepeatingPart = (num = 1) => { if(num % 2 === 0 || num % 5 === 0){ return -1; } else { let res = 10 % num, count = 1; while(res != 1){ res = res * 10 % num; count++; }; return count; } }; console.log(findRepeatingPart(num));输出结果
5