1.N = 2(i) N = 2 в степени i 64 = 2(i) i = 6 2. I = ki I = 180*6 I = 1080 бит = 135 байт ≈ 0.132 кб
diana0720
26.08.2022
1. Вот так сейчас решают подобные задачи:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016 begin Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average) end.
Тестовое решение: -0.00136006072493969
2. А вот так учат писать это же школьные учителя:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016 var m:array[1..100] of real; i,k:integer; s:real;
begin s:=0; k:=0; for i:=1 to 100 do begin m[i]:=sin(i)*cos(i); if m[i]<>0 then begin s:=s+m[i]; k:=k+1 end end; Writeln(s/k) end.
Тестовое решение: -0.00136006072493969
anna241273
26.08.2022
Если элементы массива идут по возрастанию, то вот так
program wstawka; uses crt; const min=1; max=20; type zona=min..max; massiw=array[zona] of integer; var mas:massiw; i,j:zona; a,N,M:integer; T:boolean; BEGIN randomize; clrscr; N:=random(20); writeln('4ucJlo N = ',N); M:=random(20); Writeln('4ucJlo M = ',M); for i:=min to max-2 do begin mas[i+1]:=mas[i]+random(5); write(mas[i],' '); end; for i:=min to max-2 do if (mas[i]>N) and (t=false) then begin t:=true; a:=mas[i]; mas[i]:=N; for j:=i+1 to max do begin N:=mas[j]; mas[j]:=a; a:=N; end; end; for i:=min to max-1 do if (mas[i]>M) and (t=true) then begin t:=false; a:=mas[i]; mas[i]:=M; for j:=i+1 to max do begin M:=mas[j]; mas[j]:=a; a:=M; end; end; writeln; for i:=min to max do write(mas[i],' '); readkey; END.
k = 180
I - ?
1.N = 2(i) N = 2 в степени i
64 = 2(i)
i = 6
2. I = ki
I = 180*6
I = 1080 бит = 135 байт ≈ 0.132 кб