JavaScript 中的 2 鍵鍵盤問題
假設以下情況 −
最初記事本中只存在一個字元‘A’。我們可以在該記事本上對每一步執行兩個操作−
全部複製 − 我們可以複製記事本中存在的全部字元(不允許部分複製)。
貼上 − 我們可以貼上上次複製的字元。
我們需要編寫一個 JavaScript 函式,它將一個數字(我們稱之為 num)作為唯一引數。我們的函式需要計算並返回列印‘A’ num 次所需的最小步數(全部複製或貼上)。
例如 −
如果輸入數字是 −
const num = 3;
那麼輸出應該是 −
const output = 3;
因為步驟是 −
全部複製(結果: ‘A’)
全部貼上(結果: ‘AA’)
全部貼上(結果: ‘AAA’)
示例
程式碼如下 −
const num = 3;
const minimumSteps = (num = 1) => {
let [curr, copy, steps] = [1, 0, 0];
while(curr != num){
if((copy < curr) && ((num - curr) % curr) == 0) {
copy = curr;
}else{
curr += copy;
};
steps += 1;
};
return steps;
};
console.log(minimumSteps(num));輸出
控制檯中的輸出將是 −
3
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP