![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
Elfin |
|
|||
Unregistered |
Ув. тов. пр-мисты.. нужно срочно решить задачу, зачет по программированию горит...
вобщем условие звучит так, точной формулировки не помню, объясню на своих словах... дано выражение... ХРУСТ*ГРОХОТ=РРРРРРРРРРР каждая буква в слове (будет являться переменной в задаче) должна иметь свое значение, всего разных букв в выражении 7, значит у каждой буквы будет свое значение, причем одинаковым буквам - одинаковое значение, разным разное, например если переменные будут иметь такие значения: х=4 р=2 у=3 с=0 т=1 г=6 о=7 то выражение будет выгляденть так 42301*627471=22222222222 итак надо найти при каких значениях переменных выражение будет истинно.... мляха муха я запарился с этой задачей, не знаю как решать помогите люди!!!! ААА!!! пысы, очевидно что, чтобы получить левую часть не меньше правой части уравнения, то нужно чтобы одна из переменных "х" и "г" равнялась не меньшему числу чем 4 другая - не меньше 5 (иначе длина результата левой части будет меньше 11 знаков) |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Можно решать в лоб.
Буквы принимают значение от 0 до 9 => берем и просто делаем различные сочетания значений букв... Добавлено @ 21:21 завтра-послезавтра предложу решение... |
|||
|
||||
Elfin |
|
|||
Unregistered |
различные сочетания значений это понятно, дело в том по каким законам или формулам они бу дут изменяться в цикле? если начальные значения переменных увеличивать на один, то вскоре мы вернемся к этим же начальным значениям, я же пробовал брать рандомные значения, но ничего не вышло - прога очень долго считает (возможно дажн бесконечно, я так и не дождался результата) тем более препод сказал что это решение является не рациональным и процент такого подбора случайными числами по теории вероятности близок к 0%
![]() |
|||
|
||||
~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 1 Всего: 68 |
Elfin
39916800 - итераций - не очень долго ![]() Если простым перебором подайдет, то выложу решение с небольшой оптимизацией |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
~FoX~
Ну, во-первых, итераций не более 10! / (10-7)! = 604800. На самом деле меньше - заведомо Х и Г не ноль, причем хотя бы одно - 4 или больше, Р - 1, 4, 5, 6 или 9. Проще решать разложением РРРРРРРРРРР на 2 множителя. ИМХО. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Alex101 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: нет Всего: 10 |
Интересно, как это у тебя получилось? ![]() Да, еще вопрос, в какой системе счисления? Если десятичная система, то уже понятно, что Т<>0, 1, 5, 6 Это сообщение отредактировал(а) Alex101 - 28.10.2004, 13:06 -------------------- С уважением, А. Фролов. |
|||
|
||||
Guest |
|
|||
Unregistered |
1 это типа фрагмент подбора, если переменные равны значениям приведенным выше 2 в десятичной системе, и объясни пожалуйста почему Т<>0, 1, 5, 6 зы я очень тупой и в математике ни х-ра не понимаю, так что извини если я чего то непонял |
|||
|
||||
Elfin И выше написанное - тоже м |
|
||||||
Unregistered |
это почему так? ведь каждому символу должно быть присвоено значение 0..9 причем разным буквам - разные значения, откуда например вот это 00002*000001?? если в слове грохот максимум может быть два нуля - две буквы О а в слове хруст - не больше одного |
||||||
|
|||||||
Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: нет Всего: 155 |
![]() Вот к примеру: решение 'влоб'... и уже на 51 интерации получен первое решение! C учетом подинтераций, сумарное их количество не будет больше 1000...2000 ![]() Решение 'влоб'... ![]()
Это сообщение отредактировал(а) Girder - 28.10.2004, 15:45 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
Alex101 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: нет Всего: 10 |
ГРОХОТ х ХРУСТ Вначале перемножаюся два одинаковых числа (Т) - последняя цифра произведения, это последняя цифра результата ТхТ. Если бы Т=0,1,5,6, то результат оканчивался бы тоже на Т (0,1,5,6). Поскольку последняя цифра произведения Р (отличная от Т) =>Т<>0, 1, 5, 6 Это сообщение отредактировал(а) Alex101 - 28.10.2004, 15:41 -------------------- С уважением, А. Фролов. |
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
2Girder
Я все таки не совсем понимаю то как ты решил задачу, но вижу что правильно, (я все-таки студент 1го курса) хотелось бы конечено код на паскале ![]() Это сообщение отредактировал(а) Elfin - 28.10.2004, 16:33 |
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
Блин задачу уже скоро сдавать... ![]() |
|||
|
||||
Elfin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 28.10.2004 Репутация: нет Всего: нет |
![]() ![]() ![]()
сам удивился что работает даже если нет условий что одна буква не равна другой!!! а на переменную j лучше какнть ограничитель до 9999999 поставить хотя и не обязательно,,, данный код еще раз подтверждает: "все гениальное всегда просто!" |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |