【题目】
奇怪数列
TimeLimit:1000MS MemoryLimit:128MB
64-bit integer IO format:%lld
已解决 | 点击收藏
×
收藏题目
备注
Close确定
| 已有3人收藏了本题
Problem De ion
有一串奇怪数列如下:1 2 -3 4 -5 -6 -7 8 -9 ...
即从1-n,碰到2的次方倍则显正,其他则是负数。(2的整次方包括:1,2,4,8,16,32,64,128,....)
现在给你一个n,求出,这个数列的和。
Input
有多个输入样例,每个测试样例输入一个n,0 < n < = 1000.
该题不懂格式的可以参照一下格式:
#include
int main()
{
...
while(scanf(\"%d\",&n)!=EOF){
...
}
return 0;
}
Output
对于每一组测试数据,输出一个整数,表示这个数列的前n项的和
SampleInput
2 3 4
SampleOutput
3 0 4
【题解】
对于任意2的整次方n,n&(n-1)=0。
比如4:100,4-1=3:011,100&011=000
【代码】
int main()
{
int c=0;
int n;
while(cin>>n)
{
int sum=0;
for(int i=1;i<=n;i++)
if((i&(i-1))) sum-=i;
else sum+=i;
cout<<sum<<endl;
}
return 0;
}
继续阅读与本文标签相同的文章
上一篇 :
简单的 canvas 翻角效果
下一篇 :
5个你可能不知道的CSS属性
-
汇编(四)字的存储、DS和[address]、字的传送、mov、add、sub指令、数据段
2026-05-19栏目: 教程
-
elasticsearch之索引管理API(Index management)
2026-05-19栏目: 教程
-
简单介绍几种Java后台开发常用框架组合
2026-05-19栏目: 教程
-
<丰田发布了LQ EV概念车>。丰田全新的概念车配备了AI代理和自动驾驶功能,这是丰田美国公司研究员开发的,首次的公开亮相将在本月23日。在2017年CES消费车展上丰田曾展示了 Concept-Ai i概念车
2026-05-19栏目: 教程
-
Sysweld笔记:利用稳态算法加速算法模拟焊接过程的残余应力
2026-05-19栏目: 教程
