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

Световое табло состоит из цветных индикаторов. Каждый индикатор может окрашиваться в три цвета: зеленый, желтый и красный. Какое наименьшее количество лампочек должно находиться на табло, чтобы с его можно было передать 250 различных сигналов? *

👇
Открыть все ответы
Ответ:
straza982
straza982
02.10.2022
Пусть b - количество быков, k - количество коров, t - количество телят.
Тогда можно составить систему уравнений

Два уравнения, три неизвестных. Придется решать перебором вариантов.
Но прямой перебор - это неинтересно. Попробуем оптимизировать.
На 100 рублей можно купить максимум 100/10=10 быков, или 100/5=20 коров, или 100/0.5=200 телят. Без телят не обойтись, даже 18 коров и бык - это 19 голов, а нужно 100. Подбирать нужное количество из 200 хуже, чем из 20 или 10, поэтому сделаем замену, чтобы избавиться от t.
Из второго уравнения следует, что t=100-b-k.    (1)
Подставим значение t в первое уравнение:
10b+5k+0.5(100-b-k)=100;
10b+5k+50-0.5b-0.5k=100;
9.5b+4.5k=50;
19b+9k=100 ⇒ k=(100-19b)/9    (2)
Укрупненный алгоритм:
Перебираем b от 0 до 9 (10 нельзя, истратим все 100 рублей, а телят покупать надо!).
Для каждого b находим k по формуле (2). Если оно целочисленное, находим t по формуле (1). Решение найдено. Иначе перебор продолжается.

var
  b,k,t:integer;
  v:real;
    
begin
  for b:=0 to 9 do
    if (100-19*b) mod 9=0 then begin
      k:=(100-19*b) div 9;
      t:=100-b-k;
      Writeln('Быков ',b,', коров ',k,', телят ',t);
      break
      end;
end.

Решение
Быков 1, коров 9, телят 90
4,4(84 оценок)
Ответ:
lnstagramDeviza
lnstagramDeviza
02.10.2022
Program p1;
var
n,a,i,max,fl:integer;
begin
writeln('Введите кол-во участников>>');
readln(n);
max:=0; fl:=0;
for i:=1 to n do
 begin
 writeln('Введите кол-во правильных ответов, данных участником ',i); 
 readln(a);
 if (a > max) then max:=a;
 if a=0 then fl:=1;
 end;
if fl=1 then writeln('YES') else writeln('NO');
writeln('Победитель набрал ',max,' ');
end.

Пример:
Введите кол-во участников>> 5
Введите кол-во правильных ответов, данных участником 1 15
Введите кол-во правильных ответов, данных участником 2 18
Введите кол-во правильных ответов, данных участником 3 0
Введите кол-во правильных ответов, данных участником 4 8
Введите кол-во правильных ответов, данных участником 5 10
YES
Победитель набрал
4,7(31 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ