zoukankan      html  css  js  c++  java
  • hdoj 2568 前进

    前进

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


    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
     
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	int m,n,j,i,s,k,sum;
    	scanf("%d",&n);
    	while(n--)
    	{
    		scanf("%d",&m);
    		sum=0;
    		if(m%2==0)
    		{
    			while(m)
    			{
    				m=m/2;
    				if(m&1)
    				{
    					sum++;
    					m=m-1;
    				}
    			}
    		}
    		else
    		{
    			m=m-1;
    			sum++;
    			while(m)
    			{
    				m=m/2;
    				if(m&1)
    				{
    					sum++;
    					m=m-1;
    				}
    			}
    		}
    		printf("%d
    ",sum);
    	}
    	return 0;
    } 
    

      

  • 相关阅读:
    confluence重置admin密码
    oracle 11g密码永不过期
    GCC编译器使用
    Emacs常用命令汇总
    bash shell命令(1)
    进程管理3--经典的进程同步问题
    进程管理2--进程的同步与信号量
    C安全问题与指针误用
    C迷途指针
    进程管理1--进程的概念与操作
  • 原文地址:https://www.cnblogs.com/tonghao/p/4572768.html
Copyright © 2011-2022 走看看