寻找最低数

来源:互联网 发布:js 对象转数组 编辑:程序博客网 时间:2024/04/30 04:24

题目描述

给你一个正整数A(1<=A<=100),输出A的最低数。
例如,给你A=26,我们可以将A化成二进制为11010,则A的最低数是10,输出10的十进制为2。
再例如,给你A=88,我们可以将A化成二进制为1011000,则A的最低数是1000,输出为8。

输入格式

输入包含多组测试样例。每行输入一个正整数A(1<=A<=100)。当输入0时,输入结束。

输出

对于每一个输入,输出对应的最低数。

样例输入

26
88
0

样例输出

2

8


#include <iostream>#include <math.h>using namespace std;int main(){  int a;  while(1)  {      cin>>a;      if(a == 0)        break;      int i=0;      int bin[32];      while(a>0)      {        bin[i]=a%2;        a/=2;        i++;      }      for(int j = 0; j < i;++j)      {          if(bin[j] != 0)          {              cout<<pow(2,j);              break;          }      }      cout<<endl;  }  return 0;}


0 0
原创粉丝点击