SRM 409 DIV2 250

64cmの棒があって、望みの長さの棒を作るためにその棒を半分に折っていく。望みの棒は何個の棒から成り立っているのか求めろという問題。
うまく説明できてないかな?
最初は解き方がよくわからなかったけど、これは2進数に変換して何個1が立っているかを求めれば楽勝。

#include <iostream> 

using namespace std; 

class stick
{ 
public: 
	int pieces(int x)
	{
		int count = 0;
		
		while (x){
			if ((x % 2) == 1){
				count++;
			}
			x /= 2;
		}

		return count;

	}
};