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