Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

พิมพ์ m เท่าของ n โดยไม่ใช้ลูปใน Python

กำหนดตัวเลข 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