hd 2568 前進

 

前進

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3986    Accepted Submission(s): 3176


Problem Description
輕鬆通過墓碑,進入古墓後,才發現裏面別有洞天。
突然,Yifenfei發現自己周圍是黑壓壓的一羣蝙蝠,個個扇動翅膀正準備一起向他發起進攻!
形勢十分危急!
好在此時的yifenfei已經不是以前那個經常被lemon搶走MM的菜鳥了!面對衆多蝙蝠的嗜血狂攻,只見yifenfei使出輕靈的劍法,刷,刷,刷,瞬間搞定……
現已知yifenfei使用了2招(劍招A和劍招B):劍招A,一招能殺死一半的蝙蝠。但是如果當前的蝙蝠數爲奇數,那麼就必須先出一招劍招B殺死其中任意一個,使蝙蝠數爲偶數,再出劍招A。
現在請問:殺死n只蝙蝠需要使出多少招劍招B?
 


 

Input
輸入數據首先給出一個整數C,表示測試組數。
然後是C組數據,每組包含一個正整數n (n<2^31)。

 


 

Output
對應每組數據,請輸出一個整數,表示yifenfei使用的劍招B的數目,每組輸出佔一行。
 


 

Sample Input
2 1 5
 


 

Sample Output
1 2
 


 

Author
yifenfei
 


 

Source
 


 

Recommend
yifenfei   |   We have carefully selected several similar problems for you:  2567 2569 2570 2571 2572 
 


 

#include<stdio.h>
int main()
{
    int t,i,s,n;
    while(scanf("%d",&t)!=EOF)
    {
      while(t--)
      {
        s=0;
        scanf("%d",&n);
        while(n>0)
        {
        if(n%2==1)
        {
        s++;
        n=(n-1)/2;
        }
        else
        n/=2;
        }
        printf("%d\n",s);
                }
                              }
return 0;    
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章