Ban đầu notepad có 1 ký tự 'A'. Mỗi bước cho phép: Copy All (copy toàn bộ) hoặc Paste (dán nội dung vừa copy). Tìm số bước tối thiểu để có num ký tự 'A'.
Ví dụ: num=3 → 3 bước (Copy, Paste, Paste).
Ví dụ
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));
Kết quả
3