Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình số Nonagonal tâm (Centered Nonagonal Number) trong C++


Cho giá trị n. Nhiệm vụ: tính số Nonagonal tâm thứ n và dãy số Nonagonal tâm đến n.

Số Nonagonal tâm là gì?

Số Nonagonal tâm biểu diễn các lớp nonagonal (9 cạnh) được hình thành bởi các chấm, với một chấm ở trung tâm.

Công thức:

$$N_c(n) = \frac{(3n-2)(3n-1)}{2}$$

Ví dụ

Input – n = 20

Output – Centered nonagonal number: 1711

Input – n = 10

Output – Series: 1 10 28 55 91 136 190 253 325 406

Ví dụ code

#include <iostream>
using namespace std;

long long centeredNonagonal(int n) {
    return (3LL * n - 2) * (3LL * n - 1) / 2;
}

void printSeries(int n) {
    for (int i = 1; i <= n; i++) {
        cout << centeredNonagonal(i) << ' ';
    }
    cout << endl;
}

int main() {
    int num = 20;
    cout << "Centered nonagonal number: " << centeredNonagonal(num) << endl;
    
    num = 10;
    cout << "Centered nonagonal series: ";
    printSeries(num);
    return 0;
}

Kết quả

Centered nonagonal number: 1711
Centered nonagonal series: 1 10 28 55 91 136 190 253 325 406

Giải thích công thức: Số nonagonal thường: n(7n-5)/2. Số centered nonagonal = 1 + 9×(1+2+...+(n-1)) = 1 + 9×n(n-1)/2 = (9n² - 9n + 2)/2 = (3n-2)(3n-1)/2.