Problema 3807 de pe pbinfo
Cerința
Se dau n numere naturale. Pentru fiecare numar x, calculati 1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+...x).
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran cele n sume calculate.
Restricții și precizări
1 ≤ n ≤ 1.000.000
cele n numere citite vor fi mai mici decât 4.000.000
Exemplu
intrare
5
5 3 2 10 7
iesire
35 10 4 220 84
Răspunsuri la întrebare
Răspuns de
5
solutia de 100 de puncte! daca doresti explicatie, scrii in comentarii
#include <iostream>
using namespace std;
int main() {
unsigned long long int x, n, k, a, b, c, sem;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> x;
k = x / 2;
a = k;
b = k + 1;
c = 2 * k + 1;
sem = 0;
if (a % 3 == 0) {
a /= 3;
sem = 1;
}
if (b % 3 == 0 && sem == 0) {
b /= 3;
sem = 1;
}
if (c % 3 == 0 && sem == 0) {
c /= 3;
sem = 1;
}
cout << 2 * a * b * c + (x * (x + 1) / 2) * (x % 2) << " ";
}
return 0;
}
rRobert5:
multumesc mult de tot! problema asta chiar mi-a dat batai de cap..
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă