เครื่องมือแสดงอัลกอริทึมแบบเรียกซ้ำออนไลน์
ป้อนจำนวนเต็ม n 0-200 ดูลำดับการเรียก factorial(n) และผลลัพธ์ที่แน่นอนด้วย BigInt เหมาะสำ…
เริ่มใช้งาน
ตัวอย่างการใช้งานจริง
ลองป้อน n = 3 แล้วเริ่มการคำนวณ ระบบจะแสดงลำดับการเรียกดังนี้:
factorial(3)
factorial(2)
factorial(1)จากนั้นจะแสดงผลลัพธ์ที่แน่นอนคือ 6 (เพราะ 3! = 3 × 2 × 1 = 6) การคำนวณใช้ BigInt ดังนั้นค่าที่ได้จึงเป็นจำนวนเต็มที่แม่นยำ ไม่มีการปัดเศษหรือกลายเป็น Infinity แม้ค่า n จะมากถึง 200
พารามิเตอร์และการทำงาน
เครื่องมือนี้รองรับเฉพาะการเรียกซ้ำแบบตรงไปตรงมาของฟังก์ชันแฟกทอเรียลเท่านั้น ไม่มีการจำลอง call stack หรือแสดงขั้นตอนการคืนค่าแยกต่างหาก และไม่รองรับการเรียกซ้ำแบบอื่น เช่น Fibonacci แม้จะมีคำอธิบายเก่าที่กล่าวถึงก็ตาม
ขีดจำกัดสูงสุดของ n คือ 200 เพื่อป้องกันการเรียกซ้ำหรือเอาต์พุตที่มากเกินไป ขนาดของร่องรอยจะเพิ่มขึ้นตามค่า n อย่างเป็นเส้นตรง
ข้อจำกัดที่ควรทราบ
- ไม่รองรับการป้อนโค้ดของผู้ใช้เอง
- ไม่มีการแสดงภาพเคลื่อนไหวของ call stack
- ไม่มีการแสดงขั้นตอนการคืนค่าแยกจากขั้นตอนการเรียก
- ไม่รองรับการคำนวณ Fibonacci หรือฟังก์ชันอื่น
คำถามที่พบบ่อย
1. ถ้าป้อนค่า n มากกว่า 200 จะเกิดอะไรขึ้น?
ระบบจะปฏิเสธค่าและแสดงข้อความแจ้งเตือน เนื่องจากขีดจำกัดถูกตั้งไว้ที่ 200 เพื่อป้องกันการเรียกซ้ำที่ลึกเกินไปและเอาต์พุตที่ใหญ่เกินไป
2. ผลลัพธ์ที่แสดงเป็นค่าที่แน่นอนหรือมีการปัดเศษ?
ผลลัพธ์เป็นค่าที่แน่นอนเสมอ เนื่องจากใช้ BigInt ในการคูณ ทำให้ค่าที่ได้เป็นจำนวนเต็มที่ถูกต้อง ไม่มีการปัดเศษ และไม่กลายเป็น Infinity แม้ค่า n จะมากถึง 200
3. เครื่องมือนี้แสดงขั้นตอนการคืนค่าของฟังก์ชันหรือไม่?
ไม่แสดง เครื่องมือจะแสดงเฉพาะลำดับการเรียกฟังก์ชันแบบเรียกซ้ำเท่านั้น โดยแต่ละระดับความลึกจะมีการเยื้องเพิ่มขึ้น 2 ช่องว่าง และแสดงผลลัพธ์สุดท้ายเท่านั้น ไม่มีการแสดงขั้นตอนการคืนค่าแยกต่างหาก
ข้อควรทราบ
เครื่องมือนี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้น ไม่ควรใช้แทนการคำนวณจริงในงานที่ต้องการความถูกต้องสูง
การประมวลผลเกิดขึ้นภายในเบราว์เซอร์ของคุณ