stanvadrem
06.01.2020 13:31

C++ вычисление сложности алгоритма
,

1. стандартный алгоритм вычисления количества отрицательных элементов одномерного числового массива из тысячи элементов работает 0,01 сек. оцените время работы того же алгоритма на том же компьютере, если длина массива миллион элементов.
2. вычислите сложность поиска нулевых элементов в матрице размера мxn.
3. подсчитайте сложность алгоритма сложения двух двоичных чисел, при записи которых использовалось n-цифр.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Gibertblite
08.03.2023 11:20
1.

var b:Integer;
x,y:Real;
Begin
 Writeln('Введите число B');
 Read(b);
 x:=-3;
 if (b<10) then Writeln(2*b)
  else if (b>=10) then
   begin
    while(x<=1) do
     begin
      x:=x+0.1;
      y:=sqr(x)-x+(sin(1/b+x)/cos(1/b+x));
      Writeln('При x = ',x:0:1,' y = ',y:0:2);
     end;
  end;
 end.

2.
var
n,i,sum:Integer;
avarage:Real;
X:Array[1..1000] of Integer;
Begin
 Read(n);
 for i:=1 to n do
  Read(X[i]);
 for i:=1 to n do
  if (X[i]<-2) or (X[i]>2) then
    sum:=sum+X[i];
    avarage:=sum/n;
  if (avarage>2) then
   begin
    X[1]:=1;
    X[n]:=1;
   end
   else
    begin
     X[1]:=0;
     X[n]:=0;
    end;
 for i:=1 to n do
  Write(X[i],' ');
end.

3.
var n,sum,i:Integer;
A:Array[1..1000] of Integer;
Begin
 Read(n);
 for i:=1 to n do
  Read(A[i]);
 for i:=1 to n do
  if (A[i]>0) and (A[i] mod 3 = 0) then sum:=sum+A[i];
 for i:=n div 2 to n do
   A[i]:=sum;
 for i:=1 to n do
  Write(A[i],' ');
end.
0,0(0 оценок)
Ответ:
stupidcarl
08.03.2023 11:20
///#1program Number1;
var  b, xi: Integer; 
 x, y: Real;
begin 
Writeln('Enter number B:'); 
Read(b); 
if (b < 10) then Writeln(2 * b) 
else if (b >= 10) then 
begin   
for xi := -3 to 1 do   
begin     
 x := x + 0.1;     
y := sqr(x) - x + (sin(1 / b + x) / cos(1 / b + x));     
Writeln('X= ', x:0:1, ' Y= ', y:0:1);   
end; 
end;
end.

#2
var n,j,s:Integer; ser:Real; 
X:Array[1..10000] of Integer;
Begin 
writeln('Enter N: '); 
Read(n);
 for j:=1 to n do  Read(X[j]); 
for j:=1 to n do  if (X[j]<-2) or (X[j]>2) then    s:=s+X[j]; 
  av:=s/n; 
if (av>2) then   
begin   
X[1]:=1;   
X[n]:=1;   
end   
else   
begin     
X[1]:=0;   
 X[n]:=0;   
 end; 
for j:=1 to n do  Write(X[j],' ');
end.

#3
var n,s,p:Integer;
A:Array[1..10000] of Integer;
Begin 
Write('Enter N: '); 
Read(n);
 for p:=1 to n do  Read(A[p]); 
for p:=1 to n do 
 if (A[p]>0) and (A[p] mod 3 <> 0) then s:=s+A[p];
 for p:=n div 2 to n do   A[p]:=s; 
for p:=1 to n do  Writeln('Otvet: ',A[p]);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота