zoj Int-7bits 3713

来源:互联网 发布:域名 cc 编辑:程序博客网 时间:2024/05/29 13:38

题目大意:

给定一个字符串,按照十六进制输出,但是对于字符串的长度的输出比较麻烦,首先是将长度len转换成二进制,取后七位,如果除去后七位前边还有1那么就在第八位位置加上1,然后将len右移7位,继续上述步骤,对于一个十进制的数先转换成二进制取后七位,再转换成十进制,就相当于十进制的数取后128位,也就是len%128

#include<bits/stdc++.h>using namespace std;int main(){    string str;    int T;    cin>>T;    getchar();    while(T--)    {        getline(cin,str);        int len=str.length(),n;        if(len==0)            printf("00\n");        else        {            int l=len;            while(l)            {                int ll=l%128;                l/=128;                if(l)                    ll+=128;                printf("%02X",ll);            }            for(int i=0;i<str.length();i++)                printf("%X",str[i]);            printf("\n");        }    }    return 0;}



 

 

0 0
原创粉丝点击