C - 高橋くんと魔法の箱 / AtCoderBeginnerContest#019
#include <iostream> #include <set> using namespace std; void Solve(int n) { set<int> se; int a; se.clear(); for (int i=0; i<n; ++i) { cin >> a; while (a%2 == 0) a/=2; se.insert(a); } cout << se.size() << endl; } int main(void) { int n; cin >> n; Solve(n); return 0; }
2で割り切れなくなるまで割り、重複していない値の個数を表示。
〜了〜