这是来自谷歌的访谈问题.我自己无法解决这个问题.有人可以解释一下吗?
编写一个程序来打印击键序列,以便生成最大数量的字符'A'.您只能使用4个键:A,Ctrl+ A,Ctrl+ C和Ctrl+ V.只允许N次击键.所有Ctrl+字符都被视为一次击键,因此Ctrl+ A是一次击键.
例如,序列A,Ctrl+ A,Ctrl+ C,Ctrl+ V生成4次击键两个A.
我做了一些数学.对于任何N,使用x个数,一个Ctrl+ A,一个Ctrl+ C和y Ctrl+ V,我们可以生成最大((N-1)/ 2)2个A的数量.对于某些N> M,最好使用尽可能多的Ctrl+ A,Ctrl+ C和Ctrl+ V序列,因为它会使A的数量加倍.
序列Ctrl+ A, …
algorithm ×1