สมมติว่าเรามีตัวเลข n เราต้องหาตัวเลข n ตัวแรกที่เรียงตามลำดับศัพท์
ดังนั้น หากอินพุตเป็น n =15 ผลลัพธ์จะเป็น [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้:
- นับ :=1
- ans :=รายการที่มีการนับองค์ประกอบเดียว
- ในขณะที่ขนาดของ ans
- นับ :=นับ * 10
- ในขณะที่นับ> n ทำ
- จำนวน :=ผลหารของจำนวน / 10
- นับ :=นับ + 1
- ในขณะที่การนับ mod 10 เหมือนกับ 0, do
- จำนวน :=ผลหารของจำนวน / 10
- ใส่จำนวนที่ส่วนท้ายของ ans
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น:
โค้ดตัวอย่าง
class Solution: def solve(self, n): count = 1 ans = [count] while len(ans) < n: count *= 10 while count > n: count = count // 10 count += 1 while count % 10 == 0: count = count // 10 ans.append(count) return ans ob = Solution() n = 15 print(ob.solve(n))
อินพุต
15
ผลลัพธ์
[1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]