С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 24.03.2015
Сообщений: 50

Используя две емкости 3 л. и 5 л., нужно набрать в столитровую бочку M литров воды

28.10.2015, 21:44. Показов 3595. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используя две емкости 3л і 5л нужно набрать в столитровую бочку бочку M литров воды, при этом сумарное количество переливаний в бочку и с бочки должно быть минимальной. Например, Что бы набрать 7 литров воды: два раза выливаем в бочку по 5л, потом отливаем один раз 3л, всего три переливаний.

Входные данные:

Целое неотрицательное число M. 0 ≤ M ≤ 100.

Входные данные

7

Выходные данные

3
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2015, 21:44
Ответы с готовыми решениями:

В двухсот (200) литровую бочку воды ежедневно по 1% от первоначальных 50 литров доливают воду
В двухсот (200) литровую бочку воды ежедневно по 1% от первоначальных 50 литров доливают воду. 1. Через сколько дней бочка будет полная?...

Как набрать 7 литров воды при помощи 3 и 8 литровых банок?
доброго времени суток! помогите пожалуйста составить алгоритм решения задачи: Как набрать 7 литров воды при помощи 3 и 8 литровых банок? ...

Написать автомат, который покажет сколько литров воды в ёмкости после каждого воздействия
Не очень понимаю в автоматах требуется помощь. Задача звучит так: есть некая емкость и 2е трубы с вентелями, которые открывают или...

6
2 / 2 / 1
Регистрация: 05.08.2017
Сообщений: 61
18.10.2017, 11:00
Здесь по-видимому нужно использовать алгоритм Евклида.
Пока тоже сижу думаю над ней.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8964 / 4387 / 1654
Регистрация: 28.10.2009
Сообщений: 11,645
18.10.2017, 21:43
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Цитата Сообщение от Капинус Посмотреть сообщение
Здесь по-видимому нужно использовать алгоритм Евклида
Да ладно...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
os5,k,n,r:integer;
begin
readln(n);
os5:=n mod 5;
k:=n div 5;
case os5 of
0:r:=k;
1:r:=k+1;
2:r:=k+2;
3:r:=k+1;
4:r:=k+2;
end;
writeln(r);
end.
1
2 / 2 / 1
Регистрация: 05.08.2017
Сообщений: 61
19.10.2017, 11:03
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Да ладно...
Cпасибо. У меня немножко другая программа.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var m,k:byte;
begin
readln (m);
 k:=0;
   while m div 5>0 do
   begin
  m:=m-5;
  inc(k);
 end;
 if (m=5) or (m=3) then k:=1;
 if (m mod 5=1) or (m mod 5=3) then inc(k) else
 if (m mod 5=2) or (m mod 5=4) then inc(k,2);
 writeln (k);
readln
end.
Но есть проблема: что у вас, что у меня при вводе числа 4 выводит 2, а при вводе 1 - выводит 1
Получить 4 можно: 5+5-3-3, 3+3+3-5 ну и ещё. Всего 4 операции
Получить 1 можно: 3+3-5 всего 3 операции.

Добавлено через 1 час 54 минуты
Этот вариант проходит на 95%.
Может кто знает где нужно доделать. Спасибо
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var m,k:byte;
begin
readln (m);
if m=0 then writeln ('0') else
if m=1 then writeln ('3') else
if m=4 then writeln ('4') else
begin
 k:=0;
   while m div 5>0 do
   begin
  m:=m-5;
 k:=k+1;
 end;
 if (m=5) or (m=3) then k:=1;
 if (m mod 5=1) or (m mod 5=3) then inc(k) else
 if (m mod 5=2) or (m mod 5=4) then inc(k,2);
 writeln (k);
 end;
end.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8964 / 4387 / 1654
Регистрация: 28.10.2009
Сообщений: 11,645
19.10.2017, 12:43
Да, программа писалась из расчета, что минимальный объём 5 литров. Исключения составляют:
1 л - 3 переливания
4 л- 4 переливания
Все остальные числа вписываются в мою формулу для этих данных (0..100)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
os5,k,n,r:integer;
begin
readln(n);
os5:=n mod 5;
k:=n div 5;
case os5 of
0:r:=k;
1:r:=k+1;
2:r:=k+2;
3:r:=k+1;
4:r:=k+2;
end;
if n=1 then r:=3 else if n=4 then r:=4;
writeln(r);
end.
0
2 / 2 / 1
Регистрация: 05.08.2017
Сообщений: 61
19.10.2017, 14:57
А вот и мой вариант, тоже имеющий право на существования (проходит на 100%)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var m,k:byte;
begin
readln (m);
if m=0 then writeln ('0') else
if m=1 then writeln ('3') else
if m=4 then writeln ('4') else
if (m=5) or (m=3) then writeln ('1') else
begin
 k:=0;
   while m div 5>0 do
   begin
  m:=m-5;
 k:=k+1;
 end;
 if (m mod 5=1) or (m mod 5=3) then inc(k) else
 if (m mod 5=2) or (m mod 5=4) then inc(k,2);
 writeln (k);
 end;
end.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8964 / 4387 / 1654
Регистрация: 28.10.2009
Сообщений: 11,645
19.10.2017, 16:04
Ваши команды с 10 по 14 есть ничто иное как две мои команды:
k:= m div 5
m:=m mod 5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2017, 16:04
Помогаю со студенческими работами здесь

В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом из
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом из сосуда В вылили 1/3 воды в...

Разделить 12 литров воды поровну с помощью 2 пустых ведер с емкостью 8 и 5 литров
Имеется 12 литров воды,нужно разделить поровну с помощью 2 пустых ведер с емкостью 8 и 5 литров.

Выяснить, в которую бочку поместится больше воды
Обращаюсь к вам, как к профессионалам. Задачка на функции и процедуры. Нужно составить программу для решения задачи с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru