|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.01.2008, 12:39 | #1 |
Алый цветок
Пользователь
Регистрация: 28.01.2008
Сообщений: 13
|
Алгоритм для Pascal
Ребенку в школе (3 класс) дали задачку по математике.
Мне стало интересно, а как бы это выглядело на Pascal. Суть задачи: даны числа: 7 8 6 8 нужно между ними расставить арифметические знаки (+ - ( ) * / ) так, чтобы в итоге 7 8 6 8 = 336 Ручным методом у меня не получилось. То есть, нужно представить некий алгоритм, чтобы компьютер сам перебирал варианты, и если условие удовлетворяло требованию =336 выводил на экран правильный вариант расстоновки знаков. За ранее благодарен.
Если вы не устанавливаете правила, то вынуждены жить по чужим...
|
28.01.2008, 13:48 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Зачем составлять программу??? Решается в уме...
(-7+8*6)*8 Только идти надо "сзади", т.е. начинать с оценки порядков исходных чисел и результата. В данном случае делим результат на 8, а дальше все прозрачно... |
28.01.2008, 14:34 | #3 | |
Алый цветок
Пользователь
Регистрация: 28.01.2008
Сообщений: 13
|
Цитата:
Я же просил алгоритм для паскаля не только за тем, чтобы решить задание. Мне самому интересно стало - как это написать через программу. Хотелось бы код программы на таких условиях (видел где-то подобную задачу в Олимипиаде по программированию. Числа (1..9) вводятся с клавиатуры. Затем при выполнении программы, нужно, чтобы программа расставила знаки так, чтобы, скажем, решение выражения было равно 100. Если такого решения нет - вывести "решений нет". Я примерно представляю алгоритм, но не могу составить. Плюс к тому же не знаю, как вывести выражение с арифметическими знаками... Надеюсь, что вы поняли меня... а то сам запутался
Если вы не устанавливаете правила, то вынуждены жить по чужим...
|
|
28.01.2008, 15:30 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Неоптимальный алгоритм очень простой:
Пишем функцию, которая рекурсивно проверяет все возможные арифметические действия над самой собой же со следующим числом до получения результата или исчерпания чисел. Есть более оптимальный алгоритм, но над ним уже надо подумать, а думать, сами знаете, обычно некогда. |
28.01.2008, 17:00 | #5 |
Алый цветок
Пользователь
Регистрация: 28.01.2008
Сообщений: 13
|
Хех... мне бы сам текст программы, чтобы там уже глянул и разобрался- что и как.
Если вы не устанавливаете правила, то вынуждены жить по чужим...
|
29.01.2008, 10:05 | #6 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
Вот тут посмотрите
http://programmersforum.ru/showthread.php?t=12773
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
29.01.2008, 10:17 | #7 | |
Алый цветок
Пользователь
Регистрация: 28.01.2008
Сообщений: 13
|
Цитата:
Если вы не устанавливаете правила, то вынуждены жить по чужим...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм | SunKnight | Работа с сетью в Delphi | 5 | 29.04.2008 15:24 |
Алгоритм | Rifler | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 30.03.2008 01:33 |
Алгоритм программы. | Небесный | Свободное общение | 0 | 09.12.2007 23:30 |
Алгоритм Дейкстры | Dimon88 | Помощь студентам | 2 | 03.11.2007 17:13 |
Алгоритм Цезаря | ***СкаЙ*** | Помощь студентам | 2 | 27.04.2007 02:40 |