สมมติว่าเรามีตัวเลข n; เราต้องหาจำนวนอักขระสูงสุดที่เราป้อนได้โดยใช้การดำเนินการ n ครั้ง ซึ่งการดำเนินการแต่ละครั้งจะเหมือนกัน
-
การใส่ตัวอักษร "x"
-
คัดลอกอักขระทั้งหมด
-
แปะ
ดังนั้นหากอินพุตเท่ากับ n =12 เอาต์พุตจะเป็น 81
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้
-
ถ้า n <=4 แล้ว
-
กลับ n
-
-
v :=6, x :=3, i :=5, j :=0
-
ในขณะที่ฉันไม่เหมือนกับ n ให้ทำ
-
วี :=วี + x
-
ผม :=ผม + 1, เจ :=เจ + 1
-
ถ้า j หารด้วย 3 ลงตัวแล้ว
-
x :=จำนวนเต็มของ (x * 1.5)
-
-
มิฉะนั้นเมื่อ j ไม่หารด้วย 3 ลงตัวแล้ว
-
ไม่ทำอะไรเลย
-
-
มิฉะนั้น
-
x :=x * 2
-
-
-
กลับ วี
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง
class Solution:def Solve(self, n):if n <=4:return n v =6 x =3 i =5 j =0 while i !=n:v +=x i +=1 j +=1 ถ้า j % 3 ==0:x =int(x * 1.5) elif j % 3 ==1:ส่งผ่าน:x *=2 return vob =Solution()n =12print(ob.solve(n))ก่อน>อินพุต
12ผลลัพธ์
81