はてな若手エンジニアが「算数オリンピック」の問題を解いてみた - はてなブックマークニュース これの問題7に挑戦! 小学生でも2%の人が解いた問題ですね。 むむ、小学生に負けるわけには行きませんな! さて、紙と鉛筆を用意・・・しないでVisualStudioを起動…っと! 変な見え張って解けないほうがよっぽど恥ずかしい! 聞くは一時の恥聞かぬは一生の恥!! 私は文明の利器で戦う!! ということで、できました。 「25bitだな!」と言っているとおり、ビット操作を使うことにします。 #include <iostream> int numofbits5(unsigned int bits) { bits = (bits & 0x55555555) + (bits >> 1 & 0x55555555); bits = (bits & 0x33333333) + (bits >> 2 & 0x33