bình và an là đôi bạn cùng yêu thích môn tin học nên chơi rất thân với nhau.Sắp tới cả 2 bạn đều dự thi học sinh giỏi cấp huyện môn tin học. Để chuẩn bị cho kì thi hai bạn thường đưa ra những bài toán cho nhau giải. Bài toán lần này Bình đặt ra cho An như sau: Bình viết ra giấy một số xâu kí tự gốc chỉ gồm các chữ cái la tin thường đề nghị an tạo ra các xâu tương ứng bằng cách nối các kí tự liên tiếp trong xâu Bình đưa. Ví dụ Bình đưa xâu gốc là "abac" thì xâu của An tạo ra sẽ là "ab"+"ba"+"ac"=" abbaac". An đã hoàn thành tạo ra các xâu một cách nhanh chóng, sau đó lại đố Bình chỉ dựa vào các xâu mà An tạo ra để xác định lại các xâu gốc ban đầu mà Bình đưa Yêu cầu: hãy viết chương trình giúp bạn Bình giải đố của An Dữ liệu vào: - Dòng đầu tiên ghi số nguyên dương N(2<=N<=100) là xâu mà An tạo ra VD: XAUGOC.INP XAUGOC.OUT 2 abac abbaac hfddxyb hffddddxxyyb Nêu thuật giải giúp em với ạ ko cần dùng file hay text
2 câu trả lời
Thuật toán :
B1: Nhập vào t bộ test và t xâu kí tự
B2: gán st = s[1]; gán i = 2
B3: Dùng vòng lặp while i <= length(s);
st := st + s[i] và tăng i lên 2 (thực chất bài này chỉ cần lấy kí tự đầu và kí tự ở vị trị i chia hết cho 2)
B4: Xuất kết quả ra màn hình.
Chương trình :
var s,st:ansistring;
i,t:longint;
begin
readln(t);
while t > 0 do
begin
st :='';
readln(s);
st := st + s[1];
i := 2;
while i <= length(s) do
begin
st := st + s[i];
i := i + 2;
end;
writeln(st);
dec(t);
end;
readln;
end.
uses crt;
var s:ansistring;
t:byte;
i, l:longint;
begin
clrscr;
readln(t);
while t > 0 do
begin
dec(t);
readln(s);
l:=length(s);
for i:=1 to l div 2 do
write(s[i * 2 - 1]);
writeln(s[l]);
end;
readln;
end.