Помогите уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль)
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.
Ответы
Ответ дал:
0
Код (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.
-----------------------------------------
Файл с решением прикреплён.
Приложения:
Ответ дал:
0
Нужно еще.... максимальное ремя программы 2.09 , а эта программа занимает 2.106
Я уже сколько голову ломаю , как это сделать.... ничего в голову не приходит.....
Я уже сколько голову ломаю , как это сделать.... ничего в голову не приходит.....
Ответ дал:
0
Можно узнать, где я могу проверить задачу?
Ответ дал:
0
https://informatics.msk.ru/mod/statements/view3.php?id=11250&chapterid=112337#1
Ответ дал:
0
Вовсе необязательно было давать ссылку, но ладно
Ответ дал:
0
На Паскале если используются переменные типа string, то обработка строки занимает ну ооооочень много времени. Вместо string лучше использовать массив char. На скринах приведен пример программ с использованием char. Символы считывались из файла , размер 20000. Время работы программ (разницу) оцените сами.
Приложения:



Ответ дал:
0
В этой тестирующей системе Free Pascal что - то глючит. Оформите программу как консольное приложение Delphi, добавив несколько строк в начало файла и выберите транслятор Delphi 6 Borland, все тесты проходит без проблем. Расширение файла с программой сделайте dpr. program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var s: string;
i,k: longint;
f: text;
begin
assign(f,'input.txt');
reset(f);
k:=0;
readln(f,s);
close(f);
Далее по тексту.
{$APPTYPE CONSOLE}
uses
SysUtils;
var s: string;
i,k: longint;
f: text;
begin
assign(f,'input.txt');
reset(f);
k:=0;
readln(f,s);
close(f);
Далее по тексту.
Похожие вопросы
2 года назад
2 года назад
2 года назад
2 года назад
8 лет назад
9 лет назад