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; } };