杭电OJ 1196(C++)

基础题。

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;

int main()
{
	int A;
	char bit[10]; //A转换的二进制数
	while (cin >> A)
	{
		if (A == 0)
			break;
		memset(bit, 0, sizeof(bit));
		int i = 0;
		while (A != 0)
		{
			bit[i++] = A % 2;
			A /= 2;
		}
		int j = 0;
		while (bit[j] == 0) //找到第一个不为0的位
			++j;
		cout << pow(2, j) << endl;
	}
	return 0;
}

继续加油。

发布了138 篇原创文章 · 获赞 1 · 访问量 7015

猜你喜欢

转载自blog.csdn.net/Intelligence1028/article/details/104582686