hdu 2031 解题报告
2011-08-31 16:25
162 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2031
其实这个题可以直接用stl中的栈的 不过我试了一下用数组模拟栈 发现自己的问题
题目很简单 就是每次不停地求商 把余数放入栈中 最后一口气弹出就行了
※写模拟的时候出现问题 p=st;表示p的指针指向st[0] 而不是自己想的栈底 所以要先p++后进数 相当于st[0]不用※
代码如下:
其实这个题可以直接用stl中的栈的 不过我试了一下用数组模拟栈 发现自己的问题
题目很简单 就是每次不停地求商 把余数放入栈中 最后一口气弹出就行了
※写模拟的时候出现问题 p=st;表示p的指针指向st[0] 而不是自己想的栈底 所以要先p++后进数 相当于st[0]不用※
代码如下:
#include<iostream> #include<cstdio> using namespace std; char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int num; int st[100]; int *p=st; void push(int n) { p++; *p=n; //注意此处先改变指针 后进入数据 } int pop() { int temp=*p; p--; return temp; } int main() { int n,m,i,j,k,r,count=0,temp=0; bool is_under; while(scanf("%d %d",&n,&m)!=EOF) { is_under=0; if(n<0) { is_under=1; n=-n; } count=0; while(n!=0) { r=n%m; n=n/m; push(r); count++; } if(is_under) printf("-"); for(i=0;i<count;i++) { temp=pop(); printf("%c",a[temp]); } p=st; printf("\n"); } //system("pasue"); return 0; }
相关文章推荐
- hdu_2031_进制转换_解题报告
- hdu 4527 小明系列故事——玩转十滴水 bfs 解题报告
- HDU 1114 Piggy-Bank 解题报告(完全背包)
- hdu 2091 空心三角形 解题报告
- HDU-2255 奔小康赚大钱(完备匹配下的最大权匹配) 解题报告
- hdu 4740 The Donkey of Gui Zhou dfs 搜索 解题报告
- HDU 5828 Rikka with Sequence 解题报告
- HDU1.2.7解题报告
- hdu 1253 胜利大逃亡 (代码详解)解题报告
- 解题报告: HDU_4675 GCD of Sequence 计数
- HDU 3652 数位DP 解题报告
- HDU-1078___FatMouse and Cheese —— 解题报告 dp动态数组
- hdu 1878 欧拉回路 解题报告
- hdu 1114 Piggy-Bank 解题报告
- 解题报告:HDU_6176 Function Counting (离散化DP+矩阵快速幂)
- hdu1196解题报告
- BestCoder11(Div2) 1003 Boring count (hdu 5056) 解题报告
- BestCoder27 1002.Taking Bus(hdu 5163) 解题报告
- 解题报告 HDU1944 S-Nim
- HDU 2602 解题报告