ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีการแก้ไขปัญหาที่ระบุด้านล่าง -
คำชี้แจงปัญหา
ให้เลขสองตัว N และ K ปัญหาของเราคือการลบตัวเลข K จาก N จนกระทั่ง number(N) มากกว่าศูนย์ (0) เมื่อ N กลายเป็นค่าลบหรือศูนย์แล้วเราจะเริ่มเพิ่ม K ลงไปจนกว่าตัวเลขนั้นจะกลายเป็นต้นฉบับ หมายเลข(N)
ตัวอย่าง
N = 10 K = 4
ผลผลิต
10 6 2 -2 2 6 10
อัลกอริทึม
-
เราเรียกใช้ฟังก์ชันครั้งแล้วครั้งเล่าจนกระทั่ง N มากกว่าศูนย์ (ในทุกๆ การเรียกใช้ฟังก์ชัน เราจะลบ K ออกจาก N )
-
เมื่อตัวเลขกลายเป็นลบหรือศูนย์ เราจะเริ่มเพิ่ม K ในการเรียกใช้ฟังก์ชันแต่ละครั้งจนกว่าตัวเลขจะกลายเป็นตัวเลขเดิม
-
ในที่นี้ เราใช้ฟังก์ชันเดียวเพื่อวัตถุประสงค์ในการบวกและการลบ แต่เพื่อสลับไปมาระหว่างฟังก์ชันการบวกหรือการลบ เราใช้แฟล็กตัวแปรประเภทบูลีน
ทีนี้มาดูการใช้งานใน Python
ตัวอย่าง
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)
ผลลัพธ์
10 6 2 -2 2 6 10
ที่นี่ตัวแปรทั้งหมดถูกประกาศในเนมสเปซส่วนกลางดังแสดงในภาพด้านล่าง -
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับคำศัพท์สำหรับการพิมพ์ชุดตัวเลขโดยไม่ต้องใช้โครงสร้างการวนซ้ำใดๆ ใน Python 3.x หรือก่อนหน้านั้น