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

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

19.11.2021, 22:14. Показов 2727. Ответов 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
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
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
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
20.11.2021, 02:07
Цитата Сообщение от s1mulacrum Посмотреть сообщение
в чём я не прав?
Цитата Сообщение от s1mulacrum Посмотреть сообщение
чисто теоретически всё ясно:
Тебе не всё ясно даже теоретически.

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

Т.к. я сразу написал правильный код замка - таких "правильных" вариантов должно быть очень много, и задача должна легко решиться случайным подбором.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,984
Записей в блоге: 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
1718 / 1117 / 337
Регистрация: 25.01.2019
Сообщений: 2,940
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,984
Записей в блоге: 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
12925 / 6792 / 1818
Регистрация: 18.10.2014
Сообщений: 17,187
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,984
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru