#include <iostream> using namespace std; int main() {     long n;     cin>>n;     long long res=0;     long t=2;//用t表示2^k     int count=0;     while(count<n/2)     {         for(long i=1;t*i<=n;i=i+2)//找到2^k*i<=n的所有i         {             res=res+i;             count++;           }         t=t*2;     }     if(n%2==0) //当n为奇数时,序列中的奇数和     {         res=res+n*n/4;                 }     else//当n为偶数时,序列中的奇数和     {         res=res+(n+1)*(n+1)/4;             }     cout<<res<<endl;     return 0; }
点赞 评论

相关推荐

鼗:四级有点难绷,感觉能拿国家励志奖学金,学习能力应该蛮强的,四级确实不重要,但是拿这个卡你可是很恶心啊
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
牛客网
牛客企业服务