进制转换 sdutoj1252(模拟手写栈2333333)
来源:互联网 发布:linux 压缩文件命令 编辑:程序博客网 时间:2024/05/16 10:16
进制转换
Time Limit: 1000MS Memory limit: 65536K
题目描述
输入一个十进制数N,将它转换成R进制数输出。
输入
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
输出
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
示例输入
7 223 12-4 3
示例输出
1111B-11
///手写模拟栈233333 (估计要不是不能用STL都不手写了)
///此题坑点 0 !另外注意 long long
///ACcode
#include <iostream>#include <cstring>#include <cstdlib>using namespace std;#define maxsize 100000#define ll long longtypedef struct Stack{ int Size; char *top,*base;} Stack;bool Empty(Stack &s){ if (s.top == s.base) { return 1; } return 0;}void Creat(Stack &s){ s.base=new char[maxsize]; s.top=s.base; s.Size=maxsize;}void push(Stack &s,char e[]){ if (s.top-s.base >= s.Size) { s.base=(char *)realloc(s.base,2*maxsize*sizeof(Stack)); s.Size+=maxsize; } s.top++; *s.top=e[0];}void pop(Stack &s){ if (s.top != s.base) { s.top--; }}void print(Stack &s){ while (!Empty(s)) { cout<<*s.top; pop(s); } cout<<endl;}void change(Stack &s,ll x,ll mod){ int m; if (x<0) { x=-x; } char nu[3]; while(x) { m=x%mod; if (m==10) { nu[0]='A'; } else if (m==11) { nu[0]='B'; } else if (m==12) { nu[0]='C'; } else if (m==13) { nu[0]='D'; } else if (m==14) { nu[0]='E'; } else if (m==15) { nu[0]='F'; } else nu[0]=m+'0'; push(s,nu); x=x/mod; }}void sign(Stack &s,ll x){ if (x<0) { push(s,"-"); }}int main(){ ll n,m; while (cin>>n>>m) { if (n==0) { cout<<"0"<<endl; } else { Stack s; Creat(s); change(s,n,m); sign(s,n); print(s); Clear(s); } } return 0;}
0 0
- 进制转换 sdutoj1252(模拟手写栈2333333)
- SDUToj1252进制转换
- 暑假集训7.29 一般表达式转换后缀表达式(手写模拟栈....)sdutoj2132
- 数据结构实验之栈:行编辑器(手写模拟栈)
- java面试题答疑(手写arraylist、进制转换、多线程、动态代理)
- 栈模拟数字进制转换
- HDU 2031 进制转换(模拟)
- 【NOIP2000】进制转换 模拟
- codevs 进制转换 模拟
- HDU 1335 Basically Speaking (模拟进制转换)
- HDU 2106 decimal system(进制转换+模拟)
- 数据结构实验之栈二:一般算术表达式转换成后缀式(手写栈)
- 【模拟高精度+进制转换】数学序列
- 【模拟试题】进制转换(normal)
- HDU 2031 进制转换(模拟)
- 手写栈
- bzoj 2819: Nim(树链剖分+手写栈)
- 数学方法模拟(洛谷1017 进制转换NOIp2000提高组第一题)
- 经典算法之哥德巴赫猜想
- 以下关于linux操作系统中硬链接和软链接的描述,正确的是?
- Mac Android 屏幕同步/共享投影工具[Vysor]
- 最短路算法
- 源码讲解knockout执行过程
- 进制转换 sdutoj1252(模拟手写栈2333333)
- android的开发工具Eclipse中模拟器横竖屏切换的快捷键是 Ctrl +F11
- P1417 烹调方案
- Mac 好用的截图标注工具
- Linkedlist简介
- 城市列表实现类
- Group Anagrams
- Android事件的处理
- Lua学习总结 (安装与使用)