เลขเพนโตป (Pentatope Number) ถูกอธิบายว่าเป็นตัวเลขตัวที่ห้าในสามเหลี่ยมปาสคาล (Pascal's Triangle) เนื่องจากเป็นตัวที่ห้า จึงต้องมีตัวเลขอย่างน้อย 5 ตัวในสามเหลี่ยมปาสคาล ดังนั้นอนุกรมนี้ตัวแรกเริ่มจาก 1 4 6 4 1 แถวที่สี่ของสามเหลี่ยมปาสคาล ในบทช่วยสอนนี้ เราต้องหาเลขเพนโตปลำดับที่ n เช่น
Input : 1 Output : 1 Input : 4 Output : 35
คุณสามารถตรวจสอบผลลัพธ์จากแผนภาพด้านล่างได้

สำหรับปัญหานี้ เนื่องจากเป็นอนุกรม เราจึงพยายามหาแพทเทิร์นของอนุกรมนี้ในส่วนของวิธีแก้
วิธีการแก้ปัญหา
ในโปรแกรมนี้ เราจะหาสูตรทั่วไปสำหรับอนุกรมนี้ซึ่งทุกตัวเลขปฏิบัติตาม แล้วนำค่าของเราไปแทนในสูตรเพื่อได้ผลลัพธ์
ตัวอย่าง
โค้ด C++ สำหรับวิธีการข้างต้น
#include<bits/stdc++.h>
using namespace std;
int answer(int n){
return (n * (n+1) * (n+2) * (n+3))/ 24;
}
int main(){
int n = 6;
cout << answer(n) << "\n";
n = 4;
cout << answer(n) << "\n";
return 0;
}
ผลลัพธ์
126 35
ความซับซ้อนโดยรวมของโค้ดข้างต้นคือ O(1) หมายความว่าทำงานในเวลาคงที่ และนี่คือความซับซ้อนด้านเวลาที่ดีที่สุด เพราะเวลาไม่ขึ้นกับขนาดอินพุต
การเข้าใจโค้ด
ในวิธีข้างต้น เราพยายามหาแพทเทิร์นของอนุกรมและสร้างสูตรทั่วไปจากแพทเทิร์นนั้น สูตรที่เราได้คือ (n * (n + 1) * (n + 2) * (n + 3)) / 24 โดย n คือพจน์ที่เราต้องการหา
สรุป
ในบทช่วยสอนนี้ เราแก้ปัญหาการหาเลขเพนโตปลำดับที่ N โดยการสร้างสูตร เรายังได้เรียนรู้โปรแกรม C++ และวิธีแก้ปัญหา ซึ่งสามารถเขียนในภาษาอื่น เช่น C, Java, Python ได้ หวังว่าจะเป็นประโยชน์