Var St: string; z:string[10]; x:string[2]; i,j,k,m: integer; //новые переменные Begin Write('введите строку текста - St'); Readln(St); k:=0; //обнуляем на всякий случай z:='0123456789'; i:=1; for j:=1 to length(St) do //начало begin; for m:=1 to 10 do if St[j]=z[m] then inc(k); end; if k=0 then begin; writeln('в тексте нет цифр'); exit; end; //конец while i<=length(st)-1 do begin x:=copy(st,I,2); if (x[1]=x[2]) and (pos(x[1],z)<>0) then begin delete(st,i,2); insert('две',st,i); i:=i+1; end; i:=i+1; end; writeln('преобразованная строка ', st); End.
Программа в системе PascalABC.Net (время выполнения около 2с) var n1,n2,n3:int64;
function IsPrime(n:Int64):Boolean; var p:Int64; found:Boolean; begin case n of 1:Isprime:=False; 2:IsPrime:=True; else begin found:= (n Mod 2 = 0); p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n Mod p = 0); p:=p+2 end; IsPrime:=(not found) or (p = 2) end end end;
procedure Fib(); begin n3:=n1+n2; n1:=n2; n2:=n3 end;
var i,k:integer; begin n1:=0; n2:=1; k:=0; Writeln('Простые среди первых 45 чисел Фибоначчи'); for i:=3 to 45 do begin Fib; if IsPrime(n3) then begin Write(n3,' '); Inc(k) end end; Writeln(#13#10,'Найдено простых чисел: ',k) end.
Результат выполнения программы: Простые среди первых 45 чисел Фибоначчи 2 3 5 13 89 233 1597 28657 514229 433494437 Найдено простых чисел: 10
z:string[10];
x:string[2];
i,j,k,m: integer; //новые переменные
Begin
Write('введите строку текста - St');
Readln(St);
k:=0; //обнуляем на всякий случай
z:='0123456789';
i:=1;
for j:=1 to length(St) do //начало
begin;
for m:=1 to 10 do
if St[j]=z[m] then inc(k);
end;
if k=0 then
begin;
writeln('в тексте нет цифр');
exit;
end; //конец
while i<=length(st)-1 do
begin
x:=copy(st,I,2);
if (x[1]=x[2]) and (pos(x[1],z)<>0) then
begin
delete(st,i,2);
insert('две',st,i);
i:=i+1;
end;
i:=i+1;
end;
writeln('преобразованная строка ', st);
End.