第一题: #include<iostream> #include<vector> #include<algorithm> using namespace std; vector<int> tentotwo(int N) {     vector<int> v_temp;     while (N > 0) {         v_temp.push_back(N % 2);         N /= 2;     }     return v_temp; } int main() {     int T;     cin >> T;     vector<int> v(T);     for (int i = 0; i < T; i++) {         cin >> v[i];     }     for (int i = 0; i < T; i++) {         if (v[i] == 1) {             cout << "1" << endl;             cout << "1" << endl;             continue;         }         vector<int> temp;         temp = tentotwo(v[i]);         reverse(temp.begin(), temp.end());         //temp.reverse();         int M = temp.size();         cout << M << endl;         cout << "1";         for (int j = 1; j < M; j++) {             if (temp[j] == 1) {                 cout << " " << j+1;             }         }         cout << endl;     }     return 0; }