1 条题解
-
0
C :
#include <stdio.h> int main() { int n; int a[10]; scanf("%d", &n); int temp = n; int i = 0; int k = 0; while (temp > 0) { if (temp & 1) { a[k] = i; k++; } temp >>= 1; i++; } for (int y = k - 1; y >= 0; y--) { printf("%d ", a[y]); } return 0; }C++ :
#include <bits/stdc++.h> using namespace std; #define int long long string tostring(int n) { string s; while (n) { int g = n & 1; s += g + '0'; n >>= 1; } // reverse(s.begin(), s.end()); return s; } signed main() { int n; cin >> n; string s = tostring(n); int l = s.size(); for (int i = l - 1; i >= 0; i--) { if (s[i] == '1') cout << i << ' '; } // cout << s; return 0; }
- 1
信息
- ID
- 687
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 提交数
- 2
- 已通过
- 1
- 上传者