UVa 389 - Basically Speaking
2014-08-01 16:31
211 查看
题目:进制转换,给你a进制的串s转化成b进制的数字,长多7位则输出ERROR。
分析:数学题。按照进制的规则计算,先转化成10进制,然后一直除base取的余数倒过来即可。
说明:注意0。
分析:数学题。按照进制的规则计算,先转化成10进制,然后一直除base取的余数倒过来即可。
说明:注意0。
#include <iostream> #include <cstdlib> #include <cstdio> using namespace std; char buf[36]; int change1( char c ) { if ( c >= '0' && c <= '9' ) return c - '0'; return c - 'A' + 10; } int change2( char c ) { if ( c < 10 ) return c + '0'; return c - 10 + 'A'; } int main() { int base1,base2; while ( scanf("%s%d%d",buf,&base1,&base2) != EOF ) { int value = 0,move = 0,save = 0; while ( buf[move] ) { value *= base1; value += change1(buf[move ++]); } if ( !value ) buf[save ++] = '0'; while ( value ) { buf[save ++] = change2(value%base2); value /= base2; } if ( save > 7 ) printf(" ERROR\n"); else { for ( int i = save ; i < 7 ; ++ i ) printf(" "); while ( -- save >= 0 ) printf("%c",buf[save]); printf("\n"); } } return 0; }
相关文章推荐
- UVA_389_Basically Speaking
- UVa389 - Basically Speaking
- HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking【进制+atio+itoa】
- UVa 389 Basically Speaking
- UVA 389 Basically Speaking
- uva 540 team queue
- PC/Uva 11015/10267 图形编辑器(Graphical Editor)
- UVAlive 6152 Bits Equalizer 解题报告
- Hdu 3234 & Uva 12232 Exclusive-OR
- uva 1329 - Corporative Network(数据结构:并查集)
- UVA 361 Cops and Robbers(凸包应用)
- 【UVA】【11021】麻球繁衍
- UVA129 —— Krypton Factor (氪因素)
- UVa 673 Parentheses Balance -SilverN
- UVaLive 6585 && Gym 100299F Draughts (暴力+回溯)
- 紫书章五习题九 Bug Hunt UVA 1596
- uva 1630 lrj-P305 字符串dp(记忆化)
- UVa Problem 706 LC-Display (液晶显示屏)
- UVA 487 - Boggle Blitz
- uva 1339 Ancient Cipher(字符串处理)