Số Penta-gonal Pyramidal (kim cương ngũ giác) là tổng các số Penta-gonal (ngũ giác) đầu tiên. Số Penta-gonal thứ n = (3n² - n) / 2. Ví dụ:
Input : N = 4 Output : 40 Giải thích : Tổng 4 số penta-gonal đầu: 1 + 5 + 12 + 22 = 40 Input : N = 6 Output : 126 Giải thích : Tổng 6 số penta-gonal đầu: 1 + 5 + 12 + 22 + 35 + 51 = 126
Cách đơn giản (Simple Approach)
Duyệt i = 1..N, cộng dồn (3*i*i - i)/2. Độ phức tạp O(N).
Ví dụ
#include <bits/stdc++.h>
using namespace std;
int main() {
int N = 6, SUM = 0;
for (int i = 1; i <= N; i++)
SUM += (3 * i * i - i) / 2;
cout << "Nth Pentagonal Pyramidal Number: " << SUM << endl;
return 0;
}
Kết quả
Nth Pentagonal Pyramidal Number: 126
Cách hiệu quả: Công thức trực tiếp
Công thức đóng: N² * (N + 1) / 2. Tính O(1).
Ví dụ
#include <bits/stdc++.h>
using namespace std;
int main() {
int N = 6, result;
result = N * N * (N + 1) / 2;
cout << "Nth Pentagonal Pyramidal Number: " << result << endl;
return 0;
}
Kết quả
Nth Pentagonal Pyramidal Number: 126
Kết luận
Đã trình bày hai cách tính số Penta-gonal Pyramidal thứ N: duyệt O(N) và công thức O(1). Code C++ mẫu, dễ chuyển sang C, Java, Python.