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

После обучения Архимед и Эратосфен переписывались еще много лет определить, сколько денег нужно заплатить за отправку бандероли в древней Греции, если известно, что за бандероль весом до 50 грамм включительно взимается 10 драхм (дренегреческая валюта), а за каждые следующие полные или неполные 50 грамм еще по 5 драхм.
Напишите программу, вычисляющую, какое наименьшее число монет по 10, 4 и 1 драхме надо заплатить за отправку бандероли весом w грамм.
Формат входных данных:
На вход программе подается одно целое число w (1≤w≤2⋅109).
Формат выходных данных:
Требуется вывести три числа через пробел — необходимое количество почтовых монет достоинством 10, 4 и 1 драхма.
(PYTHON)

👇
Открыть все ответы
Ответ:
альбинка25
альбинка25
05.08.2021
/ PascalABC.NET 3.2, сборка 1436 от 01.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ArrRandom(ReadInteger('n='),-99,99).Select(i->i/10).ToArray;
  m.Println;
  var mx:=m.MaxBy(x->Abs(x));
  Writeln('Номер первого максимального по модулю элемента: ',
    m.IndexOf(mx)+1);
  Writeln('Искомая сумма: ');
  var i:=m.FindIndex(x->x>0);
  if (i=-1) or (i=m.Length-1) then Writeln(0)
  else Writeln(m[i+1:].Sum);
  var a,b:integer;
  Write('Введите границы интервала: '); Read(a,b);
  var t:=m.Where(x->Trunc(x) in [a..b]).ToArray;
  t:=t+m.Where(x-> not (Trunc(x) in [a..b])).ToArray; t.Println;
end.

Пример
n= 10
-3 3.7 9.9 -3.8 1.6 -8.4 5.7 -7.9 -9.4 7.8
Номер первого максимального по модулю элемента: 3
Искомая сумма:
-4.5
Введите границы интервала: -5 5
-3 3.7 -3.8 1.6 5.7 9.9 -8.4 -7.9 -9.4 7.8
4,7(66 оценок)
Ответ:
marmishenka
marmishenka
05.08.2021
Действия выполняются в обратном порядке. Последнее действие было "из нечетных цифр вычитается,а к четным прибавляется 1".Из нечетных цифр вычли 1 и они стали четными (при вычитании единицы меняется четность), с четными все то же самое, только наоборот. Значит нужно ко всем четным цифрам прибавить 1, а от нечетных отнять 1, тогда получится исходная цифра.3216 -> 2307.Итак, знаем, что на предпоследнем шаге было число 2307. Идем еще на шаг назад. "цифры,занимающие четные разряды (нумерация разрядов ведется справа налево начиная с нуля) циклически сдвигаются вправо,а нечетные - влево на количество позиций, равных номеру разряда". Опять же, делаем наоборот. Цифры на четных разрядах сдвигаем влево, а нечетные - вправо. Количество позиций не меняется, только направление.2307 -> 5117Пароль почты Васи: 5117.Традиционно проверочка...Имеем 5117.Семь сдвигаем вправо на 0.7 -> 7.Один сдвигаем влево на 1.1 -> 0.Один сдвигаем вправо на 2.1 -> 3.Пять сдвигаем влево на 3.5 -> 2.Получаем 2307.От нечетных цифр отнимаем 1, а к четным прибавляем.Получаем 3216. Что и было дано изначально.
4,6(23 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ