本文主要是介绍Educational Codeforces Round 1 A. Tricky Sum(简单模拟求和),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
题意:求出1-n的和,但是要去掉是2的整次幂的数
解法:直接模拟即可
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define X first
#define Y second
#define cl(a,b) memset(a,b,sizeof(a))
typedef pair<int,int> P;
const int maxn=500005;
const int inf=1<<27;
#define mod 1000000007int main(){int T;scanf("%d",&T);while(T--){LL n;scanf("%lld",&n);LL sum=n*(n+1)/2;LL t=0,x=1;while(x<=n){sum-=x*2;t++;x=1<<t;}printf("%lld\n",sum);}return 0;
}
这篇关于Educational Codeforces Round 1 A. Tricky Sum(简单模拟求和)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!