Есть ответ 👍

Программисты с кодом, олимпиадная , нужно найти ошибку. нужно найти ошибку в коде. проходит 11 проверок из 12. код: using system; class example { static void main() { int a = int.parse(console. b = int.parse(console. c, d; if (a > = 1) if (a < = 10000000) if (b > = 1) if (b < = 10000000) { if ((a * 50) - (b * 70) < 50) if ((b * 70) - (a * 50) < 50) { if ((a * 50) < (b * 70)) { if * 50) % 60) ! = 0) { c = ((a * 50) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(c); console.write(" "); console.write(d); } } else { c = (a * 50) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.write(c); } } } else { if * 70) % 60) ! = 0) { c = ((b * 70) / 60) + 1; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } else { c = (b * 70) / 60; d = * 50) - 49) / 60) + 1; if (c == d) { console.writeline(c); } else { console.write(d); console.write(" "); console.writeline(c); } } } } else console.writeline("-1"); else console.writeline("-1"); } else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); else console.writeline("-1"); } } : завод по производству колы изготавливает ее не только для магазинов, но и для всемирно известной сети ресторанов быстрого питания. ежедневно завод отгружает один и тот же объем колы в литрах. служба доставки сети ресторанов обычно использует для транспортировки колы емкости объемом или только 50 литров, или только 70 литров. если доставка осуществляется с емкостей в 50 литров, то для перевозки имеющегося объема колы необходимо a емкостей. а если с емкостей в 70 литров, то необходимо b емкостей. при этом в каждом из случаев одна из емкостей может быть заполнена не полностью. недавно сеть ресторанов решила утвердить новый объем емкостей для доставки колы — 60 литров. сколько емкостей теперь может понадобиться для доставки того же самого объема колы?

284
481
Посмотреть ответы 2

Ответы на вопрос:


Запишу сначала за вас условие до конца: первая строка ввода содержит два числа  a  и  b, разделенных пробелом (1  ≤  a,  b  ≤  10  000  000).выведите все возможные значения для количества емкостей по 60 литров, которые окажутся заполненными (в том числе одна возможно частично), в порядке возрастания или число  −1, если значения  a  и  b  противоречат друг другу, то есть они были записаны неверно. теперь к вопросам по форме.  во-первых, если в условии указаны ограничения на входные данные, им можно верить, проверять, что 1 < =  a, b  < = 10000000 не обязательно.  во-вторых, научитесь пользоваться & & , ||, это позволит не дублировать код. 4 раза написанное else console.writeline("-1"); не читать. а уже теперь по сути. ваше условие противоречивости условия  |50a - 70b| < 50 нехорошее. если общий объем колы, например, 141, то a = 3, b = 3, но при этом |50a - 70b| = 60, что больше 50. смотрю дальше. если 50a < 70b, то если 50a не делится на 60, то ответ [(50a - 49)/60] + 1 или [50a/60] + 1 (если это одно и то же, не важно). это тоже как минимум не очевидно: представим, что [(70b-69)/60] + 1 оказался больше, чем [(50a-49)/60] + 1. тогда ответ точно неверен. какие были бы мои рассуждения: поищем, какое могло бы быть общее количество колы. пусть её n, тогда 50(a - 1) < n < = 50a 70(a - 1) < n < = 70b тогда max(50a - 50, 70b - 70) < n < = min(50a, 70b).  если max(50a - 50, 70b - 70) > = min(50a, 70b), то решений нет, надо выводить -1. иначе думаем дальше. строгое неравенство иметь что-то не хочется, сделаем из него нестрогое. если добавлю к левой части 1, то количество 60-литровых ёмкостей явно не поменяется, зато неравенство станет нестрогим. пусть так и будет, раз ответ не меняется. только в проверке равенство поменяю на строгое. max(50a - 50, 70b - 70) + 1 < = n < = min(50a, 70b) теперь просто считаем число ёмкостей слева, справа, и выводим все числа от первого до второго. поняв всё это, просто превращаем слова в программу. using system; class cocacola {   public static void main (string[] args)   {     int a = int.parse(console.          b = int.parse(console.;     int lowerlimit = math.max(50 * a - 50, 70 * b - 70) + 1;     int upperlimit = math.min(50 * a, 70 * b);     if (lowerlimit > upperlimit)     {       console.write(-1);       return;     }     for (int i = (int)math.ceiling(lowerlimit / 60.0); i < = math.ceiling(upperlimit / 60.0); i++)       console.write("{0} ", i);   } }

PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a:=ArrRandom(ReadInteger('n='),-31,45); a.Println;

 var b:=a.Where(t->t.IsOdd).ToArray; b.Println

end.

Пример

n= 13

-2 14 -27 20 -12 38 -16 31 13 29 21 -24 41

-27 31 13 29 21 41

Объяснение:

Пример

n= 13

-2 14 -27 20 -12 38 -16 31 13 29 21 -24 41

-27 31 13 29 21 41

лайкни

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS