OpenJudge1455 An Easy Problem
来源:互联网 发布:便签数据损坏 编辑:程序博客网 时间:2024/06/04 00:28
题目:http://noi.openjudge.cn/ch0406/1455/
分析:可得lowbit x=x&-x;n+lowbit(n)即把右数第一串连续1消除并在其前添加一个1,(n^(n+lowbit))/lowbit)>>2即为把剩余1放到末尾。
代码:
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int n;int main(){ int lowbit; while(scanf("%d",&n)==1&n!=0) { lowbit=n&-n; printf("%d\n",n+lowbit+(((n^(n+lowbit))/lowbit)>>2)); } return 0;}
0 0
- OpenJudge1455 An Easy Problem
- An Easy Problem
- 2055 An easy problem
- An Easy Problem!
- An Easy Problem!
- poj2826 An Easy Problem?!
- HDOJ2055 An easy problem
- An Easy Problem
- hdu-An Easy Problem
- hdu2601 An easy problem
- An Easy Problem
- hdu-An Easy Problem
- HDU_2055 An easy problem
- HDU_2123 An easy problem
- B - An easy problem
- B - An easy problem
- An easy problem
- An easy problem 2132
- java设计模式之单例模式
- Android 输入法键盘和activity页面遮挡问题解决
- 深入理解Java:注解(Annotation)基本概念
- 【应用篇】Activiti监听与业务颗粒结合的简单应用(一)
- Linux电源管理
- OpenJudge1455 An Easy Problem
- 如何在datagrid表格中实现列的排序
- Sum Problem
- 安卓 Service组件
- RESTful风格
- 秒的换算:ms(毫秒),μs(微秒),ns(纳秒),ps(皮秒)
- Unity3D——android device 真机发布调试
- WEB-INFO/lib & build path 的jar包问题
- iOS9—后台定位连接