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

В старину на Руси для измерения объёма использовали величины шкалик, чарка, штоф, ведро и бочка. При этом: · 1 чарка = 2 шкалика;
· 1 штоф = 10 чарок;
· 1 ведро = 10 штофов;
· 1 бочка = 40 вёдер.
На вход программы подаётся натуральное число N – объём объекта в шкаликах. Нужно написать программу, которая возвращает 5 неотрицательных целых чисел A, B, C, D, E – количество бочек, вёдер, штофов, чарок и шкаликов соответственно, в сумме дающих ровно N шкаликов. При этом, значение E должно быть меньше 2 (так как 2 шкалика дают чарку), D и C должны быть меньше 10 (так как 10 чарок дают штоф, а 10 штофов – ведро), значение B должно быть меньше 40 (так как 40 вёдер дают бочку).
Описание входных и выходных данных
На вход программы подаётся натуральное число N (1 меньше или равно N меньше или равно 100000).
В качестве результата программа должна напечатать через пробел 5 неотрицательных целых чисел A, B, C, D, E – количество бочек, вёдер, штофов, чарок и шкаликов, в сумме дающих ровно N шкаликов. При этом, значение E должно быть меньше 2 (так как 2 шкалика дают чарку), D и C должны быть меньше $$10$$ (так как $$10$$ чарок дают штоф, а $$10$$ штофов – ведро), значение $$B$$ должно быть меньше $$40$$ (так как $$40$$ вёдер дают бочку).
Пример входных данных:
$$8225$$
Пример выходных данных для приведённого выше примера входных данных:
$$1$$ $$1$$ $$1$$ $$2$$ $$1$$
Требуется написать эффективную по времени и памяти программу.
Перед текстом программы обязательно опишите алгоритм решения. Укажите используемый язык программирования и его версию.

НУЖЕН ОТВЕТ МАКСИМУМ ЧЕРЕЗ 3 ЧАСА, НА ЗНАЧКИ ДОЛЛАРА НЕ ОБРАЩАЙТЕ ВНИМАНИЯ

👇
Ответ:
пророк2345
пророк2345
28.09.2022

не знаю, вроде бы так, написал на с++, могу попробовать на питоне, хотя не особо его знаю

Объяснение:

#include <iostream>

using namespace std;

int main()

{

 int n;

 cin >> n;

 cout << n / 200 << " ";

 n %= 200;

 cout << n / 50 << " ";

 n %= 50;

 cout << n / 5 << " ";

 n %= 5;

 cout << n / 2 << " ";

 n %= 2;

 cout << n;

}

4,8(31 оценок)
Открыть все ответы
Ответ:
nholodok400
nholodok400
28.09.2022
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s1:=SeqRandom(ReadInteger('n1='),-50,50);
  var s2:=SeqRandom(ReadInteger('n2='),-50,50);
  var p:=ReadInteger('0-по неубыванию, иное- по невозрастанию:');
  var q1:=new Queue<integer>;
  foreach var m in s1 do q1.Enqueue(m);
  Write('Очередь 1: ',q1); Writeln;
  var q2:=new Queue<integer>;
  foreach var m in s2 do q2.Enqueue(m);
  Write('Очередь 2: ',q2); Writeln;
  // очереди сформированы
  var q:=new Queue<integer>;
  var a:=(q1.ToArray+q2.ToArray);
  var s:sequence of integer;
  if p=0 then s:=a.OrderBy(i->i)
  else s:=a.OrderByDescending(i->i).ToArray;
  foreach var m in s do q.Enqueue(m);
  Write('Очередь-результат: ',q); Writeln;
end.

Пример
n1= 10
n2= 7
0-по неубыванию, иное- по невозрастанию: 1
Очередь 1: [-26,6,26,-48,-21,-29,27,-39,5,-40]
Очередь 2: [50,36,37,46,18,41,-39]
Очередь-результат: [50,46,41,37,36,27,26,18,6,5,-21,-26,-29,-39,-39,-40,-48]
4,7(1 оценок)
Ответ:
LIKA03072017
LIKA03072017
28.09.2022
Uses graphABC;
const
  c: array [1..7, 1..3] of byte = ((50, 50, 133), (0, 0, 255), (0, 160, 227), (0, 255, 0), (255, 255, 0), (239, 127, 26), (255, 0, 0));

var
  i: byte;

procedure ColArc(x, y: integer; r: integer; nc: byte);
begin
  SetPenColor(rgb(c[nc, 1], c[nc, 2], c[nc, 3]));
  Arc(x, y, r + 10, 0, 180);
  Arc(x, y, r - 10, 0, 180);
  line(x - r - 11, y - 2, x - r + 11, y - 2);
  line(x + r - 11, y - 2, x + r + 11, y - 2);
  floodfill(x, y - r, rgb(c[nc, 1], c[nc, 2], c[nc, 3]));
end;

begin
  setwindowsize(500, 300);
  for i := 1 to 7 do
    ColArc(250, 300, 100 + (i * 20), i);
end.
4,4(32 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ