Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu lệnh vấn đề được đưa ra bên dưới -
Tuyên bố vấn đề
Cho hai số N và K, vấn đề của chúng ta là trừ một số K cho N cho đến khi số (N) lớn hơn không (0), khi N trở thành âm hoặc 0 thì chúng ta bắt đầu thêm K vào nó cho đến khi số đó trở thành số ban đầu. số (N).
Ví dụ
N = 10 K = 4
Đầu ra
10 6 2 -2 2 6 10
Thuật toán
-
chúng ta gọi hàm lặp đi lặp lại cho đến khi N lớn hơn 0 (trong mọi lệnh gọi hàm, chúng ta trừ K cho N).
-
Khi số trở thành số âm hoặc số 0, chúng tôi bắt đầu thêm K trong mỗi lệnh gọi hàm cho đến khi số đó trở thành số ban đầu.
-
Ở đây, chúng tôi đã sử dụng một hàm duy nhất cho mục đích cộng và trừ nhưng để chuyển đổi giữa hàm cộng hoặc trừ, chúng tôi đã sử dụng cờ biến kiểu Boolean.
Bây giờ chúng ta hãy quan sát việc triển khai trong Python
Ví dụ
def PrintNumber(N, Original, K, flag): #print the number print(N, end = " ") #if number become negative if (N <= 0): if(flag==0): flag = 1 else: flag = 0 if (N == Original and (not(flag))): return # if flag is true if (flag == True): PrintNumber(N - K, Original, K, flag) return if (not(flag)): PrintNumber(N + K, Original, K, flag); return N = 10 K = 4 PrintNumber(N, N, K, True)
Đầu ra
10 6 2 -2 2 6 10
Ở đây tất cả các biến được khai báo trong không gian tên toàn cục như thể hiện trong hình bên dưới -
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về thuật ngữ để in một chuỗi số mà không sử dụng bất kỳ loại cấu trúc lặp nào trong Python 3.x. Hoặc sớm hơn.