![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Kos |
![]()
Сообщение
#1
|
Гость ![]() |
Уважаемые программисты, мне была задана задача по информатике, но понять как делать я не смог, а потому и обращаюсь к вам...
Текст задачи: Клиент банка забыл 4-значный шифр своего сейфа, но помнит, что шифр был простым числом, а произведение шифра равняется 243, сколько и каких вариантов надо чтоб отгадать шифр. Мысли есть, но они наверно глупы... 1. Создать подпрогу, которая выводит числа random, при условии; 2. создать подпрогу, которая сохраняет все вариации; Пока никаких соображений... Заранее спасибо... |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
А что, просто циклом от 0 до 9999 пройтись и каждое число проверить на простоту и на "произведение" (хм... Интересно, что ты под этим подразумеваешь?) нельзя?
![]() |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Так как нужно проверять произведение цифр числа, мне кажется лучше не одним циклом от 0 до 9999, чтобы не разбивать число на цифры в процессе, а 4-мя циклами от 0 до 9
for i := 0 to 9 do
for j := 0 to 9 do
for k := 0 to 9 do
for l := 0 to 9 do
if i*j*k*l = 243 then ...
Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Да, так попроще будет; кроме всего прочего, последняя цифра (да и все остальные тоже) явно не может быть 0, что тоже сократит время перебора... да и последняя (критерий простоты числа) не может быть четной...
|
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Угу ... я просто
Цитата шифр был простым числом - мимо ушей пропустил ..) В реально жизни таких условий для шифров сейфов нет ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Kos |
![]()
Сообщение
#6
|
Гость ![]() |
|
Kos |
![]()
Сообщение
#7
|
Гость ![]() |
Klem4, он вводит только одну вариацию, а надо чтобы выводил количество и сами вариации, хотя от части ты прав, но я не могу замутить, чтобы он и количество показывал и сами вариации, сколько сижу мысли хорошие голову так и не посетили
![]() |
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Уж не знаю что ты там делаешь, телепат штатный в отпуске, у меня выдает 16 решений.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 16.04.2025 2:40 |