ResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE3s8192K810293Standard
作为2进制的加法,从k加1变成k+1可能会出现若干进位。如1011加1就会有2个进位。给定n,从0开始不停地加1直到n,计算在此过程中总共会有多少次进位。
Input
输入的每一行有单独的一个值n。n=0标志输入结束
Output
对于输入的每一行,使用单独一行输出对应结果。
Sample Input
2
5
10
0
Sample Output
1
3
8
#include <stdio.h>int main (){ int n; while (scanf("%d",&n)!=EOF && n) { int ans=0; while(n>>=1) ans+=n; printf("%d/n",ans); } return 0;}