题目大意:输入数n,找出其二进制中最小的数(0除外),以10进制输出。
2种方法,第一种转化为2进制,找最小,输出。第二种用c语言的位运算符。
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
printf("%d\n",n^(n&(n-1)));
}
return 0;
}
题目大意:输入数n,找出其二进制中最小的数(0除外),以10进制输出。
2种方法,第一种转化为2进制,找最小,输出。第二种用c语言的位运算符。
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n)
{
printf("%d\n",n^(n&(n-1)));
}
return 0;
}