4355: GESP C++ 四级 4变长编码202309
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:1
题目描述
样例输入 复制
0
样例输出 复制
00
提示
#include <iostream> using namespace std; void output_digit(int d) { if (d >= 10) cout << (char)('A' + d - 10); else cout << (char)('0' + d); } void output_code(int s) { output_digit(s >> 4); output_digit(s & 0x0f); } int main() { long long n = 0; cin >> n; int split[10]; int l = 0; if (n==0) { cout<<"00"; return 0; } while (n > 0) { split[l] = (int)(n & 0x7f); n >>= 7; l++; } for (int i = 0; i < l - 1; i++) split[i] |= 0x80; output_code(split[0]); for (int i = 1; i < l; i++) { cout << " "; output_code(split[i]); } cout << endl; return 0; }