← 回到文章列表

ZOJ Problem Set - 2417 Lowest Bit

也是一道AC比较高的 感觉最近只对简单题有feel? 盯著难题看了很久我只是想到了夜宵。。

也是一道AC比较高的
感觉最近只对简单题有feel?
盯著难题看了很久我只是想到了夜宵。。
\

Lowest Bit
Time Limit: 1 Second      Memory Limit: 32768 KB 

Given an positive integer A (1 <= A <= 100), output the lowest bit of A.

For example, given A = 26, we can write A in binary form as 11010, so the lowest bit of A is 10, so the output should be 2.

Another example goes like this: given A = 88, we can write A in binary form as 1011000, so the lowest bit of A is 1000, so the output should be 8.
Input


Each line of input contains only an integer A (1 <= A <= 100). A line containing "0" indicates the end of input, and this line is not a part of the input data. 


Output

For each A in the input, output a line containing only its lowest bit. 


Sample Input

26
88
0


Sample Output

2
8





我的代码:\

#include<stdio.h>
main()
{
  int i[100]={0},n,t=1,j,k,num=1;
    while(scanf("%d",&n)!=EOF)
    {
      if(n==0) return 0;
    while(n!=1)
    {
      i[t]=n%2;
      n=n/2;
      t++;
    }
    i[t]=1;
    for(j=1;j<=t;j++)
    {
      if(i[j]==1)
         {
           for(k=1;k<j;k++)
           num=num*2;
             break;
         }
    }
      printf("%d\n",num);
      t=1;num=1;
    }
  return 0;
}

在这里找找

输入关键词,找一篇过去的记录。