Уважаемые программисты, мне была задана задача по информатике, но понять как делать я не смог, а потому и обращаюсь к вам... Текст задачи: Клиент банка забыл 4-значный шифр своего сейфа, но помнит, что шифр был простым числом, а произведение шифра равняется 243, сколько и каких вариантов надо чтоб отгадать шифр.
Мысли есть, но они наверно глупы... 1. Создать подпрогу, которая выводит числа random, при условии; 2. создать подпрогу, которая сохраняет все вариации; Пока никаких соображений... Заранее спасибо...
volvo
15.02.2006 20:58
А что, просто циклом от 0 до 9999 пройтись и каждое число проверить на простоту и на "произведение" (хм... Интересно, что ты под этим подразумеваешь?) нельзя?
klem4
15.02.2006 21:07
Так как нужно проверять произведение цифр числа, мне кажется лучше не одним циклом от 0 до 9999, чтобы не разбивать число на цифры в процессе, а 4-мя циклами от 0 до 9
for i := 0to9dofor j := 0to9dofor k := 0to9dofor l := 0to9doif i*j*k*l = 243then ...
volvo
15.02.2006 21:16
Да, так попроще будет; кроме всего прочего, последняя цифра (да и все остальные тоже) явно не может быть 0, что тоже сократит время перебора... да и последняя (критерий простоты числа) не может быть четной...
klem4
15.02.2006 21:43
Угу ... я просто
Цитата
шифр был простым числом
- мимо ушей пропустил ..) В реально жизни таких условий для шифров сейфов нет
Kos
15.02.2006 22:57
Цитата(klem4 @ 15.02.2006 17:43)
Угу ... я просто - мимо ушей пропустил ..) В реально жизни таких условий для шифров сейфов нет
Скорее мимо глаз, ну а то что какие числа препод сказал такие и делаю ...
Kos
16.02.2006 0:18
Klem4, он вводит только одну вариацию, а надо чтобы выводил количество и сами вариации, хотя от части ты прав, но я не могу замутить, чтобы он и количество показывал и сами вариации, сколько сижу мысли хорошие голову так и не посетили ...
klem4
16.02.2006 0:22
Уж не знаю что ты там делаешь, телепат штатный в отпуске, у меня выдает 16 решений.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.