#include <iostream> using namespace std; int main(){ long n; int i,j; int sum = 0; while(cin>>n){ i = 1; while(n > 1){ if(n%2 == 1){ sum += (n+1)*(n+1)/4; n = (n-1)/2; } else{ i = n; while(i%2 == 0) i /= 2; sum += i; } } sum++; cout<<sum<<endl; } return 0; }
点赞 4

相关推荐

12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务