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

Chương trình in số ký tự tối đa bằng cách sao chép dán trong n bước trong Python?

Giả sử chúng ta có một số n; chúng ta phải tìm số ký tự tối đa mà chúng ta có thể nhập bằng n phép toán trong đó mỗi phép toán giống như

  • Chèn ký tự "x".

  • Sao chép tất cả các ký tự.

  • Dán

Vì vậy, nếu đầu vào là n =12, thì đầu ra sẽ là 81.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau

  • nếu n <=4, thì

    • trả lại n

  • v:=6, x:=3, i:=5, j:=0

  • trong khi tôi không giống n, hãy làm

    • v:=v + x

    • i:=i + 1, j:=j + 1

    • nếu j chia hết cho 3 thì

      • x:=số nguyên của (x * 1.5)

    • ngược lại khi j không chia hết cho 3 thì

      • không làm gì

    • nếu không,

      • x:=x * 2

  • trở lại v

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

Ví dụ

 class Giải pháp:def giải (self, n):if n <=4:return n v =6 x =3 i =5 j =0 while i! =n:v + =x i + =1 j + =1 if j% 3 ==0:x =int (x * 1.5) elif j% 3 ==1:pass else:x * =2 return vob =Solution () n =12print (ob.solve (n))  

Đầu vào

 12 

Đầu ra

 81