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

C++ เลขเพนโตป (Pentatope Number)


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

Input : 1 Output : 1
Input : 4 Output : 35

คุณสามารถตรวจสอบผลลัพธ์จากแผนภาพด้านล่างได้

C++ เลขเพนโตป (Pentatope Number)

สำหรับปัญหานี้ เนื่องจากเป็นอนุกรม เราจึงพยายามหาแพทเทิร์นของอนุกรมนี้ในส่วนของวิธีแก้

วิธีการแก้ปัญหา

ในโปรแกรมนี้ เราจะหาสูตรทั่วไปสำหรับอนุกรมนี้ซึ่งทุกตัวเลขปฏิบัติตาม แล้วนำค่าของเราไปแทนในสูตรเพื่อได้ผลลัพธ์

ตัวอย่าง

โค้ด 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 ได้ หวังว่าจะเป็นประโยชน์