a414
輸入說明 :
輸入的每一行有一個十進制正整數 N (1<=N<=2147483647)。輸入的最後一行有一個 0,代表輸入的結束,這個數字請勿做任何處理。
輸出說明 :
對於每個正整數 N ,請輸出以二進制計算 N+1 時所需的進位次數。
這題的題意是
1 2 1 10 ans 1
4 5 100 101 ans 0
7 8 111 1000 ans 3
17 18 10001 10010 ans 1
就是要你去看N轉成二進位,從第一位開始有幾個連續的1
while(scanf("%d",&n) && n)
要這樣寫是因為輸出最後一個會是0
#include<stdio.h>
int main()
{
int n,count;
while(scanf("%d",&n) && n)
{
count=0;
while(n%2)
{
count++;
n/=2;
}
printf("%d\n",count);
}
}