zoukankan      html  css  js  c++  java
  • ZOJ 3713 In 7-bit

    点我看题目

    题意 : 这个题的英文叙述真的是太强了,真不知道哪里来的英文,完全看不懂,看了两个小时没弄懂真正的题意。就是给你一个字符串,先输出长度,但是长度要用二进制表示出来,二进制的低7位左边如果没有1了,就直接将这7位二进制转化成16进制输出,如果左边还有1,就把这个低7位变成8位,最高的那位是1,然后把这个8位二进制转化成16进制输出,然后长度右移7位,重复这个操作。如果长度是1 001 000 001(2) = 577(10) = 241(16),先输出低7位1000 001 的16进制表示形式,但是因为这个低7位左边还有1,所以就输出11 000 001的16进制表示形式c1,然后还剩下100,再输出04。长度处理完了之后将每一个字符用16进制表示出来输出即可。空格也算字符。

    思路 : 这个就是处理长度的时候不好处理,要判断一下,因为如果是2进制右移7位的话,10进制就是右移了128位,这个你可以手算,然后要判断移了7位之后是不是还有,如果有的话别忘了在前边加一个1,也就是这个要加上128或者是或上128.

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    
    using namespace std ;
    char a[3100000] ;
    
    int main()
    {
        int T ;
        scanf("%d",&T) ;
        getchar() ;
        while(T--)
        {
            gets(a);
            int len = strlen(a);
            if(len == 0)
            {
                printf("00
    ");
                continue ;
            }
            //printf("*%d*
    ",len) ;
            while(len)
            {
                int t = len % 128;
                len = len >> 7 ;
                if(len)
                    t += 128;
                printf("%02X", t);
            }
            len = strlen(a);
            for(int i = 0; i < len; ++i)
                printf("%02X", a[i]);
            printf("
    ");
        }
        return 0 ;
    }
    View Code
  • 相关阅读:
    iOS 数字滚动 类似于老
    iOS 实现转盘的效果
    iOS 摇一摇的功能
    APP上架证书无效:解决
    iOS--UIAlertView与UIAlertController和UIAlertAction之间的事儿
    ios 获取字符串所需要占用的label的高度
    适配----Autolayout
    OC中 block 的用法
    微信小程序如何播放腾讯视频?
    IOS-UICollectionView
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3585231.html
Copyright © 2011-2022 走看看