![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 30.03.2008
Сообщений: 392
|
![]()
Здравствуйте уважаемые форумчане!
Пожалуйста помогите решить задачку, а то летом мало решал их и в голову ничего не идет! Прошу решить не полностью, а хотя бы идеи по решению или наброски, заранее всем спасибо, кто откликнется!! Ученик Вася потерял дневник. Не специально. Просто так потерял. В его дневнике были только пятерки, четверки и тройки, и Вася знал общее количество K своих оценок. А еще Вася почему-то помнил сумму S всех своих оценок. Требуется составить программу, которая восстанавливает оценки Васи, т.е. находит все возможные наборы из K чисел, в которые входят только пятерки, четверки и тройки с общей суммой S. Технические требования: Входной файл: INPUT.TXT. Выходной файл: OUTPUT.TXT. Формат входных данных: Входной файл INPUT.TXT содержит два разделенных пробелом целых числа K и S, задающих соответственно общее число и сумму оценок из дневника Васи Формат выходных данных: Выходной файл OUTPUT.TXT содержит число –1, если нет ни одного требуемого набора. Если же имеются N воз-можных наборов, то выходной файл содержит N строк. В каждой строке содержатся три разделенных пробелом целых числа — количество пятерок, количество четверок, количест-во троек. Пример файла входных данных: 8 35 Пример файла выходных данных: 3 5 0 4 3 1 5 1 2 Вот...
Программирование - это великое искусство... Такое же как например и живопись!
![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Это задача из темы Решение линейных Диофантовых уравнений. Нужно найти целочисленные решения системы уравнений, где количество уравнений меньше числа неизвестных. В паскале такие задачи решаются так:
Код:
Посмотрел внимательнее условие и вношу поправку. Если в дневнике точно были 3,4,5, то циклы нужно делать не от ноля, а от 1. Последний раз редактировалось puporev; 05.08.2008 в 18:27. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.03.2008
Сообщений: 392
|
![]()
Пример файла входных данных:
8 35 Пример файла выходных данных: 3 5 0 4 3 1 5 1 2 Почему не выводит 3 5 0?
Программирование - это великое искусство... Такое же как например и живопись!
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.03.2008
Сообщений: 31
|
![]()
Вот, виводит все как у примере выходных данных:
Код:
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Если начинать циклы с ноля, то выводит, если с единицы, то естественно не выводит. Вы определитесь с условием. Написано
Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 30.03.2008
Сообщений: 392
|
![]()
А расскажите пожалуйста, про тему Решение линейных Диофантовых уравнений, в которой нужно найти целочисленные решения системы уравнений, где количество уравнений меньше числа неизвестных. (ход решения задачи). Просто я не порнял ход решения
Программирование - это великое искусство... Такое же как например и живопись!
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
А Вы наберите в Гугле ""линейные Диофантовы уравнения" и почитайте, я так рассказать не смогу. Кратко: составляется уравнение типа ax+by=с и находятся его целочисленные решения. Есть методы решения "на бумаге", есть машинные. У нас два уравнения, или ситема. 1-если (количество троек*3)+(количество четверок*4)+(количество пятерок*5)=заданной сумме, 2. количество троек+количество четверок+количество пятерок=заданному количеству оценок. Если оба условия совпадают, то компьютер выдает все возможные решения на экран, это же можно сделать вручную.
Последний раз редактировалось puporev; 05.08.2008 в 23:22. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 30.03.2008
Сообщений: 392
|
![]()
спасибо Вам большое! я просто вчера недопонял. как задача решается, а перед сном просто спокойно обдумал и все понял!
Программирование - это великое искусство... Такое же как например и живопись!
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прощай, лето. | GreenDan | Свободное общение | 10 | 04.10.2008 12:24 |
задачки | мандаринка | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 02.02.2008 17:02 |
Задачки на Си | Cyn4uk | Помощь студентам | 3 | 06.12.2007 23:51 |
Задачки по С | Aero | Помощь студентам | 3 | 04.10.2007 18:41 |