Строками: var s:string; begin WriteLn('vvedi chislo:'); ReadLn(s); WriteLn('chislo cifr=',length(s)); ReadLn; end; Не строками: var N,k:longint; begin write('N=');readln(N); k:=0; while N>0 do begin N:=N div 10; k:=k+1; end; write('k=',k); readln end.
//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
Program task1; const n = 30; var a :array [1..n] of integer; i, p :integer; pr :real; begin randomize; for i:= 1 to n do a[i]:= random(33)-7; p:= 1; for i:= 1 to n do if a[i] > 0 then p:= p * a[i]; pr:= p/2; writeln(pr); end.
program task2; const n = 30; var a: array [1..n] of integer; i, sum, max, min: integer; sr: real; begin randomize; for i := 1 to n do a[i] := random(33) - 7; sum:= 0; for i := 1 to n do if a[i] >= 0 then sum:= sum + sqr(a[i]); min:= a[1]; max:= a[1]; for i := 1 to n do begin if a[i] > max then max:= a[i]; if a[i] < min then min:= a[i]; end; sr:= (max + min)/2; writeln('Сумма кадратов: ',sum); writeln('Среднее арифметическое: ',sr); end.
var s:string;
begin
WriteLn('vvedi chislo:');
ReadLn(s);
WriteLn('chislo cifr=',length(s));
ReadLn;
end;
Не строками:
var N,k:longint;
begin
write('N=');readln(N);
k:=0;
while N>0 do
begin
N:=N div 10;
k:=k+1;
end;
write('k=',k);
readln
end.