UVA 11121 Base -2 (进制转换)
2015-02-13 19:56
351 查看
题目:http://uva.onlinejudge.org/external/111/11121.pdf
题意:给你一个数n,将n转换成-2进制。
分析:将n连续除以-2,然后把余数保存,最后倒着输出来就行了。注意余数为负数时,将余数加2,保证余数在0~1,然后n要加上1。
代码:
题意:给你一个数n,将n转换成-2进制。
分析:将n连续除以-2,然后把余数保存,最后倒着输出来就行了。注意余数为负数时,将余数加2,保证余数在0~1,然后n要加上1。
代码:
#include <iostream> #include <cstdio> #include <cmath> #include <stack> using namespace std; int main() { stack <int > st; int ncase; int x,i,r,t; scanf("%d",&ncase); for(i=1;i<=ncase;i++) { while(!st.empty()) st.pop(); scanf("%d",&x); while(x) { r=x%-2; t=x/-2; if(r<0) { r+=2; t++; } st.push(r); x=t; } printf("Case #%d: ",i); if(st.empty()) { printf("0\n"); continue; } while(!st.empty()) { printf("%d",st.top()); st.pop(); } printf("\n"); } return 0; }
相关文章推荐
- UVa 11121 Base -2 / 进制转换
- UVA 11121 Base -2
- UVa 11121 - Base -2
- uva 11121【base -2】
- Base -2 - UVa 11121 -2进制
- uva 11121 - Base -2
- UVA 11121 - Base -2 (数论)
- uva 11121 - Base -2
- UVa 11121 Base -2(负数进制)
- UVA10473 Simple Base Conversion【进制转换】
- UVA 11121 - Base -2 (十进制数转化为-2进制)
- UVa 11121 - Base -2
- UVa 10473 Simple Base Conversion (两句话实现进制转换)
- UVA 11121 Base -2
- uva 11121 - Base -2(负进制转换)
- UVA11121- Base -2
- UVA - 11121 - Base -2 (负进制转换!)
- UVa 11121 - Base -2
- Uva 11121 Base -2
- UVA11121 - Base -2(找规律)