Cho số nguyên N. Nhiệm vụ: tính tổng dãy 1² - 2² + 3² - 4² + ... đến n số hạng.
Ví dụ minh họa
Input: N = 3 Output: 6
1² - 2² + 3² = 1 - 4 + 9 = 6
Phương pháp 1: Vòng lặp O(n)
Duyệt 1..n, chẵn trừ, lẻ cộng bình phương.
Phương pháp 2: Công thức O(1)
n chẵn: Sum = -n(n+1)/2 n lẻ: Sum = n(n+1)/2
Ví dụ chương trình (Phương pháp 2)
#include <iostream>
using namespace std;
int findSumOfSeries(int n) {
if (n % 2 == 0) return -n * (n + 1) / 2;
return n * (n + 1) / 2;
}
int main() {
int n = 5;
cout << "Tổng dãy: " << findSumOfSeries(n);
return 0;
}
Kết quả
Tổng dãy: 15