前进 2568
2014-04-07 21:19
197 查看
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
轻松通过墓碑,进入古墓后,才发现里面别有洞天。
突然,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 <iostream> int main(int argc, const char* argv[]) { int nCases = 0; std::cin >> nCases; while (nCases--) { int nCount = 0; int nBat = 0; std::cin >> nBat; while (nBat != 0) { if (nBat%2 == 0) { nBat /= 2; } else { ++nCount; nBat -= 1; } } std::cout << nCount << std::endl; } return 0; }
相关文章推荐
- ZOJ 3770 Ranking System
- shared_ptr<> reset
- 二叉树的镜像
- 实战Nginx与PHP(FastCGI)的安装、配置与优化
- arm-Linux汇编语法及它和ADS汇编转换的问题
- C++11 自动类型推断和类型获取
- Android应用性能测试
- 实战Nginx与PHP(FastCGI)的安装、配置与优化
- CheckBox的使用(二):获取选择的文本内容
- 在创业型软件公司的收获
- 我读Mongoose源码----程序框架
- Collections 与 Deque
- Java时间工具类模块
- MONO 使用重要提示
- [CQOI 2014] 排序机械臂
- db2在windows 上有哪些服务?
- haslaylout 和 bfc解析
- 《Windows核心编程》---HOOK API基础
- Python之美[从菜鸟到高手]--生成器之全景分析
- mono for android学习过程系列教程(2)