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

Chương trình tạo n số từ điển đầu tiên trong python

Giả sử chúng ta có một số n, chúng ta phải tìm n số đầu tiên được sắp xếp theo trình tự từ vựng.

Vì vậy, nếu đầu vào là n =15, thì đầu ra sẽ là [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]

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

  • số lượng:=1
  • ans:=một danh sách có số phần tử đơn lẻ
  • while kích thước của ans
  • count:=count * 10
  • while count> n, do
    • count:=thương số của số đếm / 10
    • count:=count + 1
    • trong khi số đếm mod 10 giống với 0, hãy thực hiện
      • count:=thương số của số đếm / 10
    • chèn số vào cuối ans
  • trả lại ans
  • Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn:

    Mã mẫu

    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))
    
    

    Đầu vào

    15

    Đầu ra

    [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]