Решение задачи "Хитрая сумма" с Codeforces

Без пояснения   Просмотров: 19


В этой задаче вам требуется найти сумму всех целых чисел от 1 до n, причём степени двойки нужно учитывать в сумме со знаком минус.

Например, при n = 4 сумма равна:  - 1 - 2 + 3 - 4 =  - 4, поскольку 1, 2 и 4 являются 20, 21 и 22 соответственно.

Вычислите ответ для t значений n.

Код

#include <bits/stdc++.h>
using namespace std;

int main() {
	int t;
	cin >> t;
	while (t--) {
		int64_t n;
		cin >> n;
		cout << (n*n+n)/2 - 2*((2 << (int)log2(n)) - 1) << '\n';
	} 
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться