Educational Codeforces Round 1 A
In this problem you are to calculate the sum of all integers from 1 to n, but you should take all powers of two with minus in the sum.
For example, for n = 4 the sum is equal to - 1 - 2 + 3 - 4 = - 4, because 1, 2 and 4 are 20, 21 and22 respectively.
Calculate the answer for t values of n.
The first line of the input contains a single integer t (1 ≤ t ≤ 100) — the number of values of n to be processed.
Each of next t lines contains a single integer n (1 ≤ n ≤ 109).
Print the requested sum for each of t integers n given in the input.
2
4
1000000000
-4
499999998352516354
The answer for the first sample is explained in the statement.
题意:2,4,这种是2的次方数,我们是减去,其他是加
解法:先全部加起来,再一个个减去2的倍数就好了
1 #include<stdio.h> 2 //#include<bits/stdc++.h> 3 #include<string.h> 4 #include<iostream> 5 #include<math.h> 6 #include<sstream> 7 #include<set> 8 #include<queue> 9 #include<vector> 10 #include<algorithm> 11 #include<limits.h> 12 #define inf 0x3fffffff 13 #define lson l,m,rt<<1 14 #define rson m+1,r,rt<<1|1 15 #define LL long long 16 using namespace std; 17 int main() 18 { 19 int t; 20 __int64 n; 21 __int64 sum=0; 22 __int64 a=0; 23 int ans=1; 24 cin>>t; 25 while(t--) 26 { 27 ans=1; 28 sum=0; 29 a=0; 30 cin>>n; 31 sum+=(1+n)*n/2; 32 //cout<<sum<<endl; 33 while(ans<=n) 34 { 35 sum-=2*ans; 36 ans=2*ans; 37 } 38 // cout<<a<<endl; 39 cout<<sum<<endl; 40 } 41 return 0; 42 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~