十六进制序列
来源:互联网 发布:下载地毯设计软件 编辑:程序博客网 时间:2024/05/21 21:01
http://www.acmicpc.sdnu.edu.cn/problem/show/1161
每一个字串比前面的字串多一个数注意是一个数,而不是一个字符,多出几个字符需要特殊判断和处理,代码读起来还是比较简单的,但是不小心做起来就全是坑,不算思考的时间,调试代码就花了1个半小时。
代码还有很多待优化的地方,比如输入输出的scanf printf 。代码中加了不少调试的代码,读者可以删了,增加可读性。
#include<iostream>#include<stdio.h>#include<cmath>#include<string.h>#include<map>#include<queue>#include<algorithm>using namespace std;void chuli(int i){ if (i<10) { cout<<i; }else if (i==10) { /* code */ cout<<"A"; }else if (i==11) { /* code */ cout<<"B"; }else if (i==12) { /* code */ cout<<"C"; }else if (i==13) { /* code */ cout<<"D"; }else if (i==14) { /* code */ cout<<"E"; }else if (i==15) { /* code */ cout<<"F"; }}int a[45000]={0};int b[45000]={0};int main(){ a[1]=1; int temp=1; b[1]=1; for (int i = 2; i < 45000; ++i) { /* code */ if (i<=15) { /* code */ temp+=1; a[i]=a[i-1]+temp; }else if (i<=(16*16-1)) { /* code */ temp+=2; a[i]=a[i-1]+temp; }else if (i<=(16*16*16-1)) { /* code */ temp+=3; a[i]=a[i-1]+temp; }else if (i<=(16*16*16*16-1)) { /* code */ temp+=4; a[i]=a[i-1]+temp; }else if (i<=(16*16*16*16*16-1)) { /* code */ temp+=5; a[i]=a[i-1]+temp; }else if (i<=(16*16*16*16*16*16-1)) { /* code */ temp+=6; a[i]=a[i-1]+temp; }else if (i<=(16*16*16*16*16*16*16-1)) { /* code */ temp+=7; a[i]=a[i-1]+temp; }else { /* code */ temp+=8; a[i]=a[i-1]+temp; } b[i]=temp; } // cout<<a[256]<<endl; // cout<<b[255]<<endl; // cout<<b[256]<<endl; while(cin>>temp) { for (int i = 0; i < 45000; ++i) { /* code */ if (temp<=a[i]) { /* code */ temp-=a[i-1]; break; } } // if (temp==0) // { // temp=1; // }// cout<<"1--"<<temp<<endl; int weizhi=0; for (int i = 0; i < 45000; ++i) { /* code */ if (b[i]==temp) { /* code */// cout<<"2--"<<b[i]<<"--"<<i<<endl; temp=i; break; }else if (b[i]>temp) { /* code */// cout<<"2--"<<b[i]<<"--"<<i; weizhi=b[i]-temp;// cout<<"--"<<weizhi<<endl; temp=i; break; } }// cout<<"4--"; for (int i = 0; i < weizhi; ++i) { /* code */// cout<<temp%16<<" "; temp=temp/16; }// cout<<endl;// cout<<"3--"<<temp<<endl; chuli(temp%16); cout<<endl; } return 0;}
0 0
- 十六进制序列
- 十六进制字符串转字节序列
- 大众点评笔试题:十六进制序列
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- 十六进制
- Android基础学习——Activity生命周期
- 关于回调函数的一些问题解决
- JAPX(JAVA API for xml)中dom解析思路
- HDU 1106 排序
- ::运算符用于区别局部变量和全局变量
- 十六进制序列
- Memcached内存管理分析
- C++的const类成员函数-精华版
- lintcode-颠倒整数
- Windows下(Windows 10 & Windows Server 2012)部署Tomcat(不定时更新)
- Linux下gcc编译C程序指令小结
- netty5学习笔记-内存池4-PoolArena
- android自定义桌面挂件widget用法(一)
- Odoo运行机制(五)--ORM