กำหนดตัวเลข n พิมพ์ m เท่าของ n โดยไม่ใช้ลูป ใช้ฟังก์ชัน recursive
ตัวอย่าง
Input: n = 15 Output: 15 10 5 0 5 10 15
อัลกอริทึม
ขั้นตอนที่ 1: กำหนด n ขั้นตอนที่ 2: ถ้าเคลื่อนกลับไป n และถึงแล้ว จบ ขั้นตอนที่ 3: ถ้าเคลื่อนไป 0 หรือติดลบ ขั้นตอนที่ 4: ถ้า m มากกว่า 5 เรียก recursive ด้วย flag true ไม่อย่างนั้น false ขั้นตอนที่ 5: ถ้า m ไม่มากกว่า 5 flag เป็น false
โค้ดตัวอย่าง
def printm(p, q, flag):
print(q)
if flag == False and p == q:
return
if flag:
if q - 5 > 0:
printm(p, q - 5, True)
else:
# เรียก recursive ด้วย flag false
printm(p, q - 5, False)
else:
# ถ้า flag เป็น false
printm(p, q + 5, False)
# โค้ดหลัก
n = 15
printm(n, n, True)
ผลลัพธ์
15 10 5 0 5 10 15