Điểm:
100 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Chắc hẳn các bạn đã quá quen với cách tính tổng các dãy số như \(1+2+3+\dots+n\) hay \(1-2+3-4+5-\dots+n\).
Hãy tính tổng \(A = -1^2+2^2-3^2+4^2-5^2+\dots\) gồm \(n\) số hạng. Nói cách khác, hãy tính biểu thức sau:
\[A = \sum_{i=1}^n i^2*(-1)^i\]
Input
- Dòng đầu tiên gồm 1 số \(t\), là số lượng câu hỏi
- \(t\) dòng tiếp theo, dòng thứ \(i\) gồm số \(n\).
Output
In ra \(t\) dòng, dòng thứ \(i\) là đáp án của bài toán tại câu hỏi thứ \(i\).
Example
Test 1
Input
2
6
9
Output
21
-45
Subtask
- 50% số test: \(n \le 10^6\)
- 50% số test: \(n \le 10^9\)
Bình luận
code kham khảo cho ai không giải được:
include <bits/stdc++.h>
using namespace std;
long long cal(long long x) {
if (x % 2 == 0) {
return (x / 2) * (x + 1);
} else {
return ((x - 1) / 2) * x - x * x;
}
}
int main() {
long long n;
cin >> n;
while (n--) {
long long x;
cin >> x;
cout << cal(x) << "\n";
}
return 0;
}
4 bình luận nữa