Nguồn đề bài: http://www.spoj.com/PTIT/problems/REMOVBIT/
1. Đề bài REMOVBIT spoj
Cho số a viết ở hệ cơ số 2. Nhiệm vụ của bạn là phải xóa một chữ số để số còn lại xóa khi xóa là lớn nhất !!!
Input
Một dòng chứa số a viết ở hệ nhị phân.
Output
Số lớn nhất sau khi xóa 1 chữ số từ a.
Example
Input:
101
Output:
11
2. Hướng dẫn REMOVBIT spoj
– Khi viết ra giấy ta dễ dàng nhận thấy chỉ cần xóa số 0 đầu tiên từ trái qua sẽ thu được số lớn nhất.
– Vậy khi ko có số 0 thì sao? tức là gồm 1 dãy số 1, ta chỉ cần xóa 1 số bất kì.
– xuất ra ra kết quả.
3. code tham khảo REMOVBIT spoj
const fi=''; type data=longint; var f:text; S,res:ansistring; i,j:data; ok:boolean; begin assign(f,fi); reset(f); readln(f,s); close(f); ok:=false; res:=''; for i:=1 to length(s) do if ok=true then res:=res+s[i] else begin if s[i]='1' then res:=res+'1' else ok:=true; end; if not ok then delete(res,1,1); writeln(res); end.