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

Д эж
ж
ж
ж
ьбб
б
б
б
б
б
б
б
б
б
б
б
б
б
б
б
б

б

б

👇
Ответ:
Машунчик225
Машунчик225
19.10.2021

Согласно вопросу, ответом будет

арп

п

п

пе

еп

еп

е

4,6(41 оценок)
Открыть все ответы
Ответ:
Eldar225566
Eldar225566
19.10.2021
Запишу сначала за вас условие до конца:
Первая строка ввода содержит два числа 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.ReadLine()), 
        B = int.Parse(Console.ReadLine());
    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);
  }
}
4,4(49 оценок)
Ответ:
Scruff17
Scruff17
19.10.2021

1,2,3,4,5,6,8

Объяснение:

Что напечатается:

1

3

5

6

2

4

6

8

4

6

8

При вызове F(1) печатается 1. Дальше вызовется F(3)

Напечатается 3. Вызовется F(5)

Напечатается 5. F(7) не вызывается, т.к. 7>5

Теперь вызывается вторая функция для F(3), то есть F(6)

Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)

Печатается 2. Вызывается первая функция для F(2), т.е. F(4).

Печатается 4. Вызывается первая функция для F(4), т.е. F(6).

Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)

Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)

Печатается 4. Вызываются первая и вторая функции F(6) и F(8)

Печатается 6

Печатается 8

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