Помогите уменьшить время программки, все тесты проходит, неувязка только во времени
Помогите уменьшить время программки, все испытания проходит, неувязка только во медли (на языке паскаль)
var s:string ;
var k,i:integer;
begin
readln(s);
k:=0;
for i:=1 to length(s) do
if s[i]='a' then
begin
s[i]:='b';
k:=k+1;
end;
for i:=1 to length(s) do
if s[i]='A' then
begin
s[i]:='B';
k:=k+1;
end;
writeln(s);
writeln(k);
end.
На Паскале если используются переменные типа string, то обработка строчки занимает ну ооооочень много медли. Заместо string лучше использовать массив char. На скринах приведен пример программ с внедрением char. Символы считывались из файла , размер 20000. Время работы программ (разницу) оцените сами.
Код (Pascal)
var
s: string;
k, i: integer;
begin
readln(s);
k := 0;
for i := 1 to length(s) do
if s[i] = 'a' then
begin
s[i] := 'b';
k := k + 1;
end
else if s[i] = 'A' then
begin
s[i] := 'B';
k := k + 1;
end;
writeln(s);
writeln(k);
end.
-----------------------------------------
Файл с решением прикреплён.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.