【编程题目 |200分】整数编码2021考试题 2023 Q2考试题 B卷】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

整数编码

实现一种整数编码方法,使得待编码的数字越小,编码后所占用的字节数越小。

编码规则如下:

  1. 编码时7位一组,每个字节的低7位用于存储待编码数字的补码。
  2. 字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节。
  3. 采用小端序编码,低位和低字节放在低地址上。
  4. 编码结果按16进制数的字符格式输出,小写字母需转换为大写字母。

输入描述:

  • 输入的为一个字符串表示的非负整数

输出描述:

  • 输出一个字符串,表示整数编码的16进制码流

示例1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

0

输出

00

说明

输出的16进制字符,不足两位的前面补0,如00、01、02。

示例2  输入输出示例仅供调试,后台判题数据一般不包含示例

隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

代码实现


Golang


package main

import (
    "fmt"
    "sort"
    "strconv"
)

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看


JAVA


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        char[] arr = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
                'M', 'N', 'O', 'P', 'K', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


from typing import List


class Solution:

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JavaScript


const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看