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.