Giới thiệu
Cho số nguyên N. Tìm số hạng thứ N của dãy: 1, 3, 6, 10, 15, 21, 28... (số tam giác).
Ví dụ minh họa
Đầu vào
N = 7
Đầu ra
28
Giải thích
Dãy: 1, 3, 6, 10, 15, 21, 28...
Phân tích dãy
Số tam giác: T(N) = 1 + 2 + ... + N = N(N+1)/2.
Chương trình minh họa
#include <iostream>
using namespace std;
int findNthTerm(int N) {
int NthTerm = 0;
for (int i = 1; i <= N; i++)
NthTerm += i;
return NthTerm;
}
int main() {
int N = 8;
cout << "The " << N << "th term of the series is " << findNthTerm(N);
return 0;
}
Đầu ra
The 8th term of the series is 36
Tối ưu: Có thể dùng công thức trực tiếp return N*(N+1)/2; cho O(1).