在 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP