在 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
廣告