| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Prolog > Прогноз спортивных результатов на prolog |
| Автор: snakelight 19.11.2013, 19:18 |
| По условию 1 места между участниками заплыва могли распределиться следующим образом: A: 4-7; E: 1,2; B: 5-7; F: 1-3; C: 6-7; G: 1-4; D: 1,7; Разумнее всего начать с одного из спортсменов, имеющих наименьшее число "возможностей", например с D или E. Итак, спортсмен D мог занять место 7 или 1. Однако если бы D занял место 7, то C мог бы занять лишь место 6, B - лишь 5 и A - лишь место 4. Таким образом, все места с 4-го по 7-е распределились бы так: место 4 занял A, место 5 - B, место 6 - C и место 7 - D. При этом все четыре участника заплыва от A до D оказались сдвинутыми назад по сравнению с тем распределением мест, которое предсказывал знаток спорта, что противоречит условию 2. Следовательно, D занял не 7-е, а 1-е место. Рассуждая так же, как и в первом случае придем к выводу, что места между участниками заплыва распределились следующим образом: место 1 занял D, место 2 - E, 3 - F и место 4 - G (I). Итак, судьбу четырех первых мест удалось установить однозначно. Однако при попытке выяснить, каким образом распределились три последних места между спортсменами A, B и C, мы придем к четырем различным ответам: (I) место 5 занял A, 6 - C, 7 - B; (II) место 5 занял B, 6 - C, 7 - A; (III) место 5 занял A, 6 - B, 7 - C; (VI) место 5 занял B, 6 - A, 7 - C; Любой из четырех вариантов распределения трех последних мест может служить продолжением единственного варианта (I) распределения четырех первых мест, при этом все четыре результата полностью согласуются с условиями 1 и 2. Следовательно, эти условия недостаточны для того, чтобы, пользуясь ими, можно было однозначно ответить на вопрос о том, как распределились места между участниками заплыва. Кто знает как решить это задачу средством prolog(turbo prolog)? Буду очень благодарен тем людям кто мне поможет с решением этой задачи. Спасибо. |