京东编程:找幸运数
#include <iostream> using namespace std; int f(int x) { int sum = 0; while (x != 0) { sum += x % 10; x /= 10; } return sum; } int g(int x) { int sum = 0; int flag = 1; while (flag) { if (flag&x) sum++; flag = flag << 1; } return sum; } int main() { int n; cin >> n; int *p = new int[n]; for (int i = 0; i < n; i++) { cin >> p[i]; } for (int i = 0; i < n; i++) { int count = 0; for (int j = 1; j <= p[i]; j++) { if (f(j) == g(j)) count++; } cout << count << endl; } system("pause"); return 0; }