Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 13.09.2021
Сообщений: 34

Задача с кодовым замком: угадать код замка

19.11.2021, 22:14. Показов 2771. Ответов 14

Студворк — интернет-сервис помощи студентам
секретный замок к сейфу состоит из 10 расположеных рядом ячеек,
в которые надо вставить игральные кубики (кости).
но сейф откроется только тогда, когда в произвольных соседних ячейках сумма точек на передней
грани кубиков не равна 10-ти(на грани может быть от 1 до 6 точек) .
надо написать программу, которая угадывает код замка при условии, что два кубика уже вставлены в ячейки.

чисто теоретически всё ясно:
1. создать массив с 10-ю элементами.
2.2 случайных ячейки заполнить случайными числами от 1 до 6.
3. вывести номер и значение в этих 2 ячейках.
4 затем "угадать", и вывести угаданный код сейфа.
.
вроде всё просто, но смущает меня это угадывание кодом, как его можно реализовать с массивом?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2021, 22:14
Ответы с готовыми решениями:

СМ Ariston AQSF105CSIHA, 28510590000, 802091294, Пробит порт замка. Есть ли аналог с простым замком?
Коллеги, существует ли аналогичная модель с такой же мордой, но с обычным замком, что бы прошить под неё. На этой всё работает, но...

Числовой код замка в сейфе
Числовой код замка в сейфе можно получить, если в последовательности цифр 389595742 из каждой нечетной вычесть 1, а к каждой четной...

Разгадать код замка сейфа
Секретный замок для сейфа состоит из 10 расположенных в ряд ячеек, в которые надо вставить игральные кубики. Но дверь открывается только в...

14
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
19.11.2021, 22:20
Цитата Сообщение от s1mulacrum Посмотреть сообщение
чисто теоретически всё ясно:
1. создать массив с 10-ю элементами.
2.2 случайных ячейки заполнить случайными числами от 1 до 6.
3. вывести номер и значение в этих 2 ячейках.
4 затем "угадать", и вывести угаданный код сейфа.
classical owl
Миниатюры
Задача с кодовым замком: угадать код замка  
1
1 / 1 / 0
Регистрация: 13.09.2021
Сообщений: 34
20.11.2021, 00:07  [ТС]
ну так эта часть мне неясна, как и из чего она состоит, потому в один шаг залепил. в чём я не прав?
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
20.11.2021, 02:07
Цитата Сообщение от s1mulacrum Посмотреть сообщение
в чём я не прав?
Цитата Сообщение от s1mulacrum Посмотреть сообщение
чисто теоретически всё ясно:
Тебе не всё ясно даже теоретически.

Вкидывай сюда идеи без кода; код потом напишем. "Угадывание" - фи! Нужен алгоритм!
Я щас несколько бух и к этой задачке приступлю минимум завтра, но тут и без меня полно хороших людей. Вкидывай все мысли о том как угадать рассчитать этот код. Задача вроде не сложная, сумма соседних НЕ десять.
0
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,279
20.11.2021, 04:04
1 2 3 4 5 6 1 2 3 4

Т.к. я сразу написал правильный код замка - таких "правильных" вариантов должно быть очень много, и задача должна легко решиться случайным подбором.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
20.11.2021, 05:24
Это неправильный кот, т.к. сумма первых 4 (соседних) элементов равна 10., и последних 4 тоже. Содержательный смысл у задачи появляется только при такой трактовке.

Но тут легко решается тупым брутфорсом - 6^8 вариантов расстановок кубиков, на проверку каждого варианта перебор 45 групп соседних элементов в среднем по 5 (от 2 до 10). Итого примерно 377913600 итераций, по одной операции (сложение для получения суммы группы соседних кубиков) занимает 0.2 секунды, ну еще проверка на равенство 10 - пусть еще столько же, итого полсекунды на весь брутфорс.
0
1 / 1 / 0
Регистрация: 13.09.2021
Сообщений: 34
20.11.2021, 07:29  [ТС]
Folian,
ну вот крч накидал что-то на свежую голову, пока идея не улетела, позже отладчиком пройдусь.
не уверен, что правильно использовал continue, но там и без того жести хватает))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream>
using namespace std;
int main() {
    srand(time(NULL));
 
    int komone,komtwo,gone,gtwo,j = 0;
    int const SIZE = 10;
    int arr[SIZE];
 
    cout << "vvedite nomer yacheiki ot 0 k 9: ";
    cin >> komone;
    cout << "vvedite gran kubika ot 1 k 6:";
    cin >> gone;
    arr[komone] = gone;
 
    cout << "vvedite nomer yacheiki ot 0 k 9: ";
    cin >> komtwo;
    cout << "vvedite gran kubika ot 1 k 6:";
    cin >> gtwo;
    arr[komtwo] = gtwo;
 
    for (int i = -1; i < SIZE; i++) {
 
        if (i = komone) { continue; }
        else if (i = komtwo) { continue; };
 
        arr[i] = rand() % 6;
 
        if (arr[i] == 0) { continue; };
        if (arr[i] + arr[i--] != 10) { continue; }
 
        else
            while (arr[i--] + arr[i] ==10); {
            arr[i] = rand() % 6;
            }
            
    }
    cout << "|";
        for ( j; j <= SIZE; j++); {
        cout << arr[j] <<"|";
        }
 
}
0
Гвоздь Задиров
 Аватар для Folian
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
20.11.2021, 21:14
Цитата Сообщение от s1mulacrum Посмотреть сообщение
C++
1
2
3
4
for (int i = -1; i < SIZE; i++) {
if (i = komone) { continue; }
        else if (i = komtwo) { continue; };
arr[i] = rand() % 6;
Косяк с индексацией.

Цитата Сообщение от _Ivana Посмотреть сообщение
Содержательный смысл у задачи появляется только при такой трактовке.
Кстати да; я б не стал говорить про "однозначно" и "только" т.к. ХЗ что там ещё на самом деле может всплыть, но при
Цитата Сообщение от s1mulacrum Посмотреть сообщение
когда в произвольных соседних ячейках сумма точек на передней
грани кубиков не равна 10-ти
ларчик открывается бездумным втыканием единиц.

s1mulacrum, это действительно такая тупая задача или формулировка таки иная была?

Добавлено через 36 минут
Цитата Сообщение от Folian Посмотреть сообщение
или формулировка таки иная была?
Цитата Сообщение от s1mulacrum Посмотреть сообщение
программу, которая угадывает код замка при условии, что два кубика уже вставлены в ячейки.
Вы сейчас что проходите? Если сформулировать так: "Дополнить массив случайными числами и проверить удовлетворяет ли он условию" - это оно?
0
8 / 7 / 2
Регистрация: 24.02.2017
Сообщений: 54
20.11.2021, 21:32
Цитата Сообщение от s1mulacrum Посмотреть сообщение
но сейф откроется только тогда, когда в произвольных соседних ячейках сумма точек на передней грани кубиков не равна 10-ти
Так если сумма в произовльных соседних ячейках не должна быть равна 10, то не проще ли все пустые места заполнить единицами?
1 1 1 1 1 1 6 1 4 1
Ну и рядом со вставленными кубиками просто проверить суммы и поменять на 2, там, где надо.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
20.11.2021, 21:47
Цитата Сообщение от Disaczar Посмотреть сообщение
1 1 1 1 1 1 6 1 4 1
10 сумма с 3 по 7-й элементов

Цитата Сообщение от Folian Посмотреть сообщение
Кстати да; я б не стал говорить про "однозначно" и "только" т.к. ХЗ что там ещё на самом деле может всплыть, но при
Это да. Просто хотел сказать, что при любом варианте критерия проверки, поверять его надо будет всего 6^8 раз, что вполне реально, если он только не какой-то хитрый и долговычисляемый
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12938 / 6805 / 1821
Регистрация: 18.10.2014
Сообщений: 17,227
20.11.2021, 21:58
Цитата Сообщение от s1mulacrum Посмотреть сообщение
но сейф откроется только тогда, когда в произвольных соседних ячейках сумма точек на передней
грани кубиков не равна 10-ти(на грани может быть от 1 до 6 точек)
В произвольном наборе соседних ячеек сумма не равна 10?
0
8 / 7 / 2
Регистрация: 24.02.2017
Сообщений: 54
20.11.2021, 22:18
Цитата Сообщение от _Ivana Посмотреть сообщение
10 сумма с 3 по 7-й элементов
Тогда ваша задача не будет иметь решений, так как, если все элементы даже будут равны единице, то сумма с 1 по 10 будет равна 10.

Добавлено через 2 минуты
Ой, я там ошибся немного. Да и к тому же, под "соседними" не подразумеваются ли те, что стоят рядом. Так как по логике 4 элемент не является соседом для первого...

Добавлено через 1 минуту
А под произвольными соседними подразумевается, что, например, берётся седьмой и считается сумма с 6, 7 и 8?
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
20.11.2021, 22:19
Цитата Сообщение от Disaczar Посмотреть сообщение
Тогда ваша задача не будет иметь решений, так как, если все элементы даже будут равны единице, то сумма с 1 по 10 будет равна 10.
А если все будут равны шестерке, то все будет нормально.
0
8 / 7 / 2
Регистрация: 24.02.2017
Сообщений: 54
20.11.2021, 22:22
Цитата Сообщение от _Ivana Посмотреть сообщение
А если все будут равны шестерке, то все будет нормально.
Я написал ниже, что ошибся

А вообще, формулировка у задачи крайне мутная...
0
1 / 1 / 0
Регистрация: 13.09.2021
Сообщений: 34
21.11.2021, 06:04  [ТС]
Folian, это действительно тупая задача, находил подобную, но там уже условие " в произвольных ячейках сумма должна быть равна 10", тогда это имеет смысл.. а тут нет)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2021, 06:04
Помогаю со студенческими работами здесь

Где найти код для замка в Silent Hill 2?
Ищу сохранение для сабж после того места, где надо открыть коробку на кровати, у меня пиратская версия (фаргус) и код для замка не...

Убрать не нужный код при разработке электронного замка
http://arduino-diy.com/arduino-avtomaticheskiy-umnyy-zamok в данной теме показано построение &quot;умного&quot; электронного замка с биометрическим...

Samsung WF6450S7W/YLP, нужен код заказа крючка люка и замка (УБЛ)
Samsung WF6450S7W/YLP у клиента сгорел УБЛ и после этого дверца не открывалась совсем, до меня был мастер который при открывании двери СМ...

Найти вероятность того,что случайно набирая цифры, можно угадать нужный код
код домофона состоит из 8 разных цифр.Какова вероятность того,что случайно набирая цифры , можно угадать нужный код?

Напишите программу, которая разгадывает код замка при условии, что два кубика уже вставлены в ячейки
«Суперзамок». Секретный замок для сейфа состоит из 10 расположенных в ряд ячеек, в которые надо вставить игральные кубики. Но дверь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru