М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Itismylife
Itismylife
07.08.2020 13:13 •  Информатика

Задати одновимірний масив з 50 елементів заповнений випадковими числами. Знайти суму елементів,які мають відємне значення.Написати роз'яснення

👇
Открыть все ответы
Ответ:
Аноним9111
Аноним9111
07.08.2020
Program Project1;

var m:array [0..14] of integer; i:integer;

function IsPositive(a:integer):boolean;
begin
  result:=(a>-1);
end;

procedure work;
var min, max, count:integer;
begin
  count:=0;
  min:=m[0];
  max:=0;
  for i:=0 to 14 do begin
    if IsPositive(m[i]) then begin
      inc(count);
      if m[i]>max then max:=m[i];
      if m[i]<min then min:=m[i];
    end;
  end;
  writeln('MAX: ', max);
  writeln('MIN: ', min);
  writeln('Count: ', count);
end;

begin
  for i:=0 to 14 do begin
    write('n: ');
    readln(m[i]);
  end;

  work;

  readln;
end.
4,8(74 оценок)
Ответ:
saneok67p086je
saneok67p086je
07.08.2020

(см. объяснение)

Объяснение:

Пункт A:

Пусть во второй куче x камней. Тогда стратегия примет вид:

(8; x)⇒(8; 3x)

По условию 8+3x≥68 ⇒ x≥20.

Так как нам нужно найти минимальное значение, то берем число 20.

Пункт Б:

Здесь многие рекомендуют просто подбирать. Но если вы все время боитесь, что найдете подходящее значение S, а оно не окажется минимальное, попробуйте предложенный ниже вариант.

Напишем программу на языке Python 3:

def f(x, y, p):

   if x + y >= 68 and p == 4:

       return True

   elif x + y < 68 and p < 4:

       if p % 2 > 0:

           return f(x + 2, y, p + 1) or f(x, y + 2, p + 1) or f(3 * x, y, p + 1) or f(x, 3 * y, p + 1)

       else:

           return f(x + 2, y, p + 1) and f(x, y + 2, p + 1) and f(3 * x, y, p + 1) and f(x, 3 * y, p + 1)

   else:

       return False

for i in range(1, 60):

   if f(8, i, 1):

       print(i)

Результатом ее работы будет число 19, поэтому его берем в ответ. Для самоконтроля, найденное число должно быть меньше 20, так как в противном случае Петя выиграет своим первым ходом.

Пункт В:

def f(x, y, p):

   if x + y >= 68 and (p == 5 or p == 3):

       return True

   elif x + y < 68 and p < 5:

       if p % 2 > 0:

           return f(x + 2, y, p + 1) and f(x, y + 2, p + 1) and f(3 * x, y, p + 1) and f(x, 3 * y, p + 1)

       else:

           return f(x + 2, y, p + 1) or f(x, y + 2, p + 1) or f(3 * x, y, p + 1) or f(x, 3 * y, p + 1)

   else:

       return False

for i in range(1, 60):

   if f(8, i, 1):

       print(i)

Результатом работы программы будут два числа: 17 и 18. В ответ берем число 17.

Задание выполнено!

4,4(28 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ