PTIT124J spoj – chuyển nhị phân sang bát phân
Nguồn đề bài: http://www.spoj.com/PTIT/problems/PTIT124J/ 1. Đề bài PTIT124J spoj Cho một số ở hệ nhị phân, chuyển số đó sang hệ bát phân Input Một số duy nhất ở hệ nhị phân (không quá 100 chữ số, chữ số đầu tiên luôn là 1) Output Số sau khi chuyển sang hệ bát phân. ...
Nguồn đề bài: http://www.spoj.com/PTIT/problems/PTIT124J/
1. Đề bài PTIT124J spoj
Cho một số ở hệ nhị phân, chuyển số đó sang hệ bát phân
Input
Một số duy nhất ở hệ nhị phân (không quá 100 chữ số, chữ số đầu tiên luôn là 1)
Output
Số sau khi chuyển sang hệ bát phân.
Example
Input:
1010
Output:
12
Input:
11001100
Output:
314
Điều hiển nhiên, kết quả khi chuyển từ hệ nhị phân sang hệ bát phân như sau:
000 –> 0
001 –> 1
010 –> 2
011 –> 3
100 –> 4
101 –> 5
110 –> 6
111 –> 7
từ đó ta chuyển về bài toán thay thế xâu là được
2. code mẫu PTIT124J spoj
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | const fi='; nmax=102; type data=longint; var f:text; S:ansistring; function doi(s:string):data; begin case s of '000': exit(0); '001': exit(1); '010': exit(2); '011': exit(3); '100': exit(4); '101': exit(5); '110': exit(6); '111': exit(7); end; end; procedure xuli; var i,j:data; begin while length(s) mod 3 <>0 do s:='0'+s; while length(s)<>0 do begin write(doi(copy(s,1,3))); delete(s,1,3); end; end; begin assign(f,fi); reset(f); readln(f,s); close(f); xuli; end. |
keywords: chuyển hệ nhị phân sang bát phân pascal. chuyển đổi hệ cơ số 2 sang 8