Computer >> Máy Tính >  >> Lập trình >> Javascript

2 Sự cố bàn phím chính trong JavaScript

Giả sử tình huống sau -

Ban đầu trên notepad chỉ có một ký tự 'A'. Chúng tôi có thể thực hiện hai thao tác trên notepad này cho mỗi bước -


  • Sao chép tất cả - Chúng tôi có thể sao chép tất cả các ký tự có trên notepad (không được phép sao chép một phần).

  • Dán - Chúng tôi có thể dán các ký tự đã được sao chép lần trước.

Chúng tôi bắt buộc phải viết một hàm JavaScript nhận vào một số, hãy gọi nó là num làm đối số duy nhất. Hàm của chúng tôi được yêu cầu để tính toán và trả về số bước tối thiểu (sao chép tất cả hoặc dán) cần thiết để in số lần 'A'.

Ví dụ -

Nếu số đầu vào là -

const num = 3;

Sau đó, kết quả đầu ra phải là -

const output = 3;

bởi vì, các bước là -

  • sao chép tất cả (kết quả:'A')

  • dán tất cả (kết quả:'AA')

  • dán tất cả (kết quả:'AAA')

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

3