//PascalABC.NET 3.2 сборка 1318 //Очередное решение "в лоб"
Var n,i,j,max:integer; s,curr:string; b:boolean=false; begin readln(n); max:=-1; s:=inttostr(n); for i:=1 to length(s) do begin curr:=''; for j:=i downto 1 do begin curr:=s[j]+curr; if frac(sqrt(strtoint(curr)))=0 then begin b:=true; if sqrt(strtoint(curr))>max then max:=round(sqrt(strtoint(curr))); end; end; end; if b then writeln(max) else writeln('0'); end.
Пример ввода 1: 164 Пример вывода 1: 8 Пример ввода 2: 523 Пример вывода 2: 0
household193
30.12.2021
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016 begin var n:=ReadInteger('Количество элементов массива '); var m:=ArrRandom(n,-50,50); m.Println(', '); var a:=0; var b:=0; var c:=0; for var i:=0 to n-1 do begin if m[i]>0 then a:=a+m[i]; if m[i]<m[b] then b:=i; if m[i] mod 5 = 0 then Inc(c) end; var w:=(b+1)+a/(c+1); WritelnFormat('A={0}, B={1}, C={2}, W={3}',a,b+1,c,w); Writeln('Принято, что элементы массива нумеруются от единицы') end.
Тестовое решение: Количество элементов массива 13 -43, -15, 18, -8, -13, -47, -36, 6, -16, 45, 33, 33, -24 A=135, B=6, C=2, W=51 Принято, что элементы массива нумеруются от единицы
//Очередное решение "в лоб"
Var
n,i,j,max:integer;
s,curr:string;
b:boolean=false;
begin
readln(n);
max:=-1;
s:=inttostr(n);
for i:=1 to length(s) do
begin
curr:='';
for j:=i downto 1 do
begin
curr:=s[j]+curr;
if frac(sqrt(strtoint(curr)))=0 then
begin
b:=true;
if sqrt(strtoint(curr))>max then max:=round(sqrt(strtoint(curr)));
end;
end;
end;
if b then writeln(max) else writeln('0');
end.
Пример ввода 1:
164
Пример вывода 1:
8
Пример ввода 2:
523
Пример вывода 2:
0