leraklybnika
23.03.2022 22:25

Заполнить массив из 30 элементов случайными числами в интервале [-10; 10] и найти, сколько элементов в нем принимают максимальное значение На с++ сделать

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
sofarik3456
06.11.2021 18:32
Если использовать коды длины N, то должно существовать не менее 16 различных строчек из символов 0 и 1, таких, что в каждой такой строчке будет чётное число единиц (это очевидно, конечно: если таких строчек будет меньше 16, то кодов попросту не хватит).

3 не подходит: даже без ограничений на количество единиц число строчек 2^3 = 8, что меньше 16.

4 тоже не подходит: без ограничений на количество единиц число строчек 2^4 = 16, но как минимум одна не подходит (например, 0001 - не удовлетворяет требованиям). Хороших строчек остается не больше 15, что меньше 16. (На самом деле, хороших строчек длины 4 всего 8).

Пробуем 5. Если придумаем как закодировать 16 символов - победа. А закодировать можно вот как: первые 4 символа - двоичная запись номера символа (нумеруем начиная с нуля, например 5-й символ - 0101), а последний символ - 0, если число единиц среди первых четырёх символов чётно и 1 - если нечётно. Тогда в любом случае получится чётное количество единиц.

ответ. 5 (вариант 3).
0,0(0 оценок)
Ответ:
elenamatrus777
01.11.2020 00:05
//PascalABC.NET 3.2 сборка 1318

//Вариант по формуле Бине

Var
  n,fibn:real;
  i:integer;
begin
readln(n);
if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0')
else
  begin
  i:=0;
    while fibn<n do
      begin
        fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5);
        inc(i);
      end;
   writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1);
     end;
 end.

//В лоб

Var
  sum,n,buf,fib0,fib1:integer;
 
 function fibb(fib0,fib1:integer):integer;
  begin
    result:=fib0+fib1;
  end;

begin
fib0:=0;
fib1:=1;
readln(n);
if n<=0 then
   writeln('Не существует чисел Фиббоначи меньше 0')
else
  begin
    if fibb(fib0,fib1)>=n then sum:=0 else
    begin
      while fibb(fib0,fib1)<n do
        begin
         buf:=fib1;
         fib1:=fibb(fib0,fib1);
         fib0:=buf;
        end;
      sum:=fibb(fib1,fibb(fib0,fib1))-1;
   end;
   writeln(sum);
  end;
end.

Пример ввода:
12
Пример вывода:
20
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота