Программисты с кодом, олимпиадная , нужно найти ошибку. нужно найти ошибку в коде. проходит 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
Ответы на вопрос:
Запишу сначала за вас условие до конца: первая строка ввода содержит два числа 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
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
alihan24212.04.2022 10:48
-
Mysicista04.05.2023 16:59
-
Лееееешаааа08.04.2021 17:02
-
hdhdhhxhxu08.05.2022 05:33
-
OlegBasov05.03.2021 21:27
-
Shummer01.07.2020 14:10
-
aleksandra101131.08.2022 07:53
-
диана234020.11.2021 06:54
-
zopanegra05.06.2022 09:56
-
arina27031608.02.2023 05:43
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.