只有兩個鍵的鍵盤

2021-09-27 08:01:46 字數 711 閱讀 2856

最初在乙個記事本上只有乙個字元 'a'。你每次可以對這個記事本進行兩種操作:

copy all (複製全部) : 你可以複製這個記事本中的所有字元(部分的複製是不允許的)。

paste (貼上) : 你可以貼上你上一次複製的字元。

給定乙個數字 n 。你需要使用最少的操作次數,在記事本中列印出恰好 n 個 'a'。輸出能夠列印出 n 個 'a' 的最少操作次數。

示例 1:

輸入: 3

輸出: 3

解釋:最初, 我們只有乙個字元 'a'。

第 1 步, 我們使用 copy all 操作。

第 2 步, 我們使用 paste 操作來獲得 'aa'。

第 3 步, 我們使用 paste 操作來獲得 'aaa'。

說明:n 的取值範圍是 [1, 1000] 。

class solution 

int count(int n)

if(isprime(n))

return n;

int big = yinzi(n);

int times = n / big;

return count(big) + 1 + times - 1;

}int yinzi(int num)

return -1;

}bool isprime(int number)

};

只有兩個鍵的鍵盤

最初在乙個記事本上只有乙個字元 a 你每次可以對這個記事本進行兩種操作 copy all 複製全部 你可以複製這個記事本中的所有字元 部分的複製是不允許的 paste 貼上 你可以貼上你上一次複製的字元。給定乙個數字 n 你需要使用最少的操作次數,在記事本中列印出恰好 n 個 a 輸出能夠列印出 n...

只有兩個鍵的鍵盤 LeetCode

最初在乙個記事本上只有乙個字元 a 你每次可以對這個記事本進行兩種操作 copy all 複製全部 你可以複製這個記事本中的所有字元 部分的複製是不允許的 paste 貼上 你可以貼上你上一次複製的字元。給定乙個數字 n 你需要使用最少的操作次數,在記事本中列印出恰好 n 個 a 輸出能夠列印出 n...

每日leetcode 只有兩個鍵的鍵盤

最初在乙個記事本上只有乙個字元 a 你每次可以對這個記事本進行兩種操作 copy all 複製全部 你可以複製這個記事本中的所有字元 部分的複製是不允許的 paste 貼上 你可以貼上你上一次複製的字元。給定乙個數字 n 你需要使用最少的操作次數,在記事本中列印出恰好 n 個 a 輸出能夠列印出 n...