ในบทความนี้ เราจะเรียนรู้วิธีแก้ปัญหาตามข้อความปัญหาที่กำหนดด้านล่าง −
ข้อความของปัญหา − กำหนดตัวเลขสองจำนวน N และ K ปัญหาของเราคือลบ K จาก N จนกว่า N จะมากกว่าศูนย์ (0) เมื่อ N กลายเป็นติดลบหรือศูนย์ เราจึงเริ่มบวก K เข้าไปจนกว่าตัวเลขจะกลายเป็น N ต้นฉบับ
ตัวอย่าง
N = 10, K = 4 Output: 10 6 2 -2 2 6 10
อัลกอริทึม
1. เรียกฟังก์ชันซ้ำจนกว่า N จะมากกว่าศูนย์ (ในแต่ละการเรียก ลบ K จาก N) 2. เมื่อตัวเลขกลายเป็นติดลบหรือศูนย์ เริ่มบวก K ในแต่ละการเรียกจนกว่าตัวเลขจะกลายเป็นตัวเลขต้นฉบับ 3. ใช้ฟังก์ชันเดียวสำหรับการบวกและลบ แต่ใช้ตัวแปรแบบ Boolean flag เพื่อสลับระหว่างการบวกหรือลบ
ตอนนี้มาสังเกตการนำไปใช้งานใน Python
ตัวอย่าง
def PrintNumber(N, Original, K, flag):
# พิมพ์ตัวเลข
print(N, end=" ")
# ถ้าตัวเลขกลายเป็นติดลบ
if (N <= 0):
if flag == 0:
flag = 1
else:
flag = 0
if (N == Original and (not flag)):
return
# ถ้า flag เป็นจริง (ลบ)
if flag == True:
PrintNumber(N - K, Original, K, flag)
return
# ถ้า flag เป็นเท็จ (บวก)
if not flag:
PrintNumber(N + K, Original, K, flag)
return
N = 10
K = 4
PrintNumber(N, N, K, True)
ผลลัพธ์
10 6 2 -2 2 6 10
ตัวแปรทั้งหมดถูกประกาศในเนมสเปซส่วนกลาง ตามที่แสดงในภาพด้านล่าง −

สรุป
ในบทความนี้ เราได้เรียนรู้ศัพท์สำหรับการพิมพ์ชุดตัวเลขโดยไม่ใช้โครงสร้างลูปใดๆ ใน Python 3.x หรือเวอร์ชันก่อนหน้า