#1247. [GESP202309 四级] 变长编码

[GESP202309 四级] 变长编码

题目描述

将非负整数 NN 的二进制表示从低位向高位分成若干组,每组 7 位,最高一组不足时补前导零。每一组前再加一位成为一个字节。最高一组的附加位为 0,其余组的附加位均为 1。按从低位组到高位组的顺序输出这些字节。数值 0 单独编码为一个零字节。

输入格式

输入一个十进制非负整数 NN。

输出格式

按编码顺序在一行中输出各字节,中间用空格分隔。每个字节必须写成两位十六进制数,字母使用大写。

0
00
926
9E 07
987654321012345678
CE 96 C8 A6 F4 CB B6 DA 0D

样例说明

对 926926 分组后,低位组的值为 3030,高位组的值为 77。给低位组设置最高位后得到 9E 07。

数据范围

0≤N≤10180\le N\le10^{18}。

来源

洛谷 B3870 · CCF GESP C++ 四级。