Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/58: Рейтинг темы: голосов - 58, средняя оценка - 4.98
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258

Игра "Числовые головоломки"

22.03.2015, 13:31. Показов 12506. Ответов 56
Метки нет (Все метки)

Составить программу, которая:
1) предлагает игроку числовые головоломки типа ОДИН + ОДИН = МНОГО из некоторого набора таких головоломок (до 10);
2) позволяет решить головоломку;
3) контролирует правильность решения.


как это вообще сделать?наведите на мысль
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.03.2015, 13:31
Ответы с готовыми решениями:

Игра "Числовые головоломки"
игра в lazarus'e "Числовые головоломки" «Числовые головоломки» Составить программу, которая: 1) предлагает игроку числовые...

«Числовые головоломки»
«Числовые головоломки» Составить программу, которая: 1) предлагает игроку числовые головоломки типа ОДИН + ОДИН= МНОГО из...

Числовые головоломки в Delphi
Создать программу,которая: 1.Предлагает игроку числовые головоломки типа один+один=много из некоторого набора таких головоломок(до 30); ...

56
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
20.04.2015, 19:50  [ТС]
например
ОДИН+ОДИН=МНОГО

ответ 6823+6823=13646
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
20.04.2015, 20:27
А препод что говорит ? Может для вас особые головоломки ) ?
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
20.04.2015, 20:50
Лишь бы поёрничать, блин.

Phiona, про исходники ничего не знаю, разве что гуглить. Но написать эту штуку не составит труда никому из уже ответивших. Посему начнем раскручивать. Начнем с общей концепции - что и как программа дает пользователю и что получает от него? Опиши головоломку\головоломки подробно.
0
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
20.04.2015, 20:55  [ТС]
Допустим
ОДИН+ОДИН=МНОГО
6823+6823=13643
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
20.04.2015, 21:00
Ну, допустим. Как это отвечает на поставленные вопросы? Не жалей слов, это в первую очередь выгодно тебе.
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
20.04.2015, 21:04
Или что-то типа:
Сколько кошек?
В комнате четыре угла. В каждом углу сидит по кошке. Напротив каждой кошки по три кошки. На хвосте каждой кошки по одной кошке. Сколько же кошек в комнате?
Такие задачи не подходят ? Или нужны чисто математические ?
0
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
20.04.2015, 21:16  [ТС]
мне нужны только математические...а именно КНИГА + КНИГА + КНИГА = НАУКА
ВАГОН + ВАГОН = СОСТАВ
НИТКА+НИТКА=ТКАНЬ

Добавлено через 5 минут
вот как здесь,и проверка правильности и решение...

http://rebus1.com/index.php?item=rebusx&rebus=121
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
20.04.2015, 21:17
Это не математические, это логические задачки. Это раз.

Цитата Сообщение от BRcr Посмотреть сообщение
что и как программа дает пользователю и что получает от него?
На этот вопрос так и не было ответа. Это два.
0
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
20.04.2015, 21:20  [ТС]
простите,логические

я сама не понимаю,что она дает,что получает
видимо должна быть форма,с условием,
и должна быть произведена замена определенной букве-определенная цифра
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
20.04.2015, 21:30
Цитата Сообщение от Phiona Посмотреть сообщение
вот как здесь
Что-то я не очень понимаю суть головоломки. Нужно самостоятельно назначить цифры буквам что ли? По какому принципу?
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
20.04.2015, 21:30
Ну тут только перебором, потому как, если перевести головоломку в численное уравнение, то получим следующее (на примере один+один=много): 1000*x1+100*x2+10*x3+x4 + 1000*x1+100*x2+10*x3+x4 = 10000*x5+1000*x4+100*x1+10*x6+10*x1, где x1!=x2!=x3!=x4!=x5!=x6, x1 >0, x5>0 и где x1,x2,x3,x4,x5,x6-целые числа от 0 до 9.

Оставлю пока следующую заготовку (использует метод перебора), которую можно без проблем переделать под другую подобную головоломку:
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
44
45
46
int x[6] = {0}; // счетчик-массив
        while (true)
        {
                // числа не должны быть равны друг другу
                bool bSkip = false;
                for ( int i = 0; i < 6; i++ )
                {
                        for ( int j = 0; j < 6; j++ )
                        {
                                if ( i != j )
                                {
                                        if ( x[i] == x[j] ) bSkip = true;
                                }
                        }
                }
 
                if ( x[0] == 0 || x[4] == 0 ) bSkip = true;
 
 
                // вычисляем по формуле
                if ( !bSkip )
                {
 
 
                        if ( x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3] +
                             x[0] * 1000 + x[1] * 100 + x[2] * 10 + x[3] ==
                             10000*x[4] + 1000*x[3] + 100*x[0] + 10*x[5] + x[0] )     // ОДИН+ОДИН=МНОГО
                        {
                                        ShowMessage( AnsiString().sprintf("%d%d%d%d%d%d", x[0], x[1], x[2], x[3], x[4], x[5]) );
                                        break;
                        }
                }
 
                // увеличиваем счетчик-массив  X
                int pos = 0;
                while (pos < 6)
                {
                    if ( ++x[pos] == 10 )
                    {
                        x[pos] = 0;
                        pos++;
                    }
                    else break;
                }
                if (pos == 6) break;
        }
3
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 242
20.04.2015, 21:38
Хм, оказывается она так и называется ОДИН+ОДИН=МНОГО

Погуглил, нашёл объяснение от форумчанина KoKos:
Кликните здесь для просмотра всего текста
ОДИН - это 4 разряда, МНОГО - пять разрядов. При сложении в старший разряд переносится только 1 - никак не удастся собрать такие X и Y, каждое из которых < 10 , чтобы в сумме они давали 20 или больше. Значит, старший разряд МНОГО (то есть М) = 1. Тогда О+О=1Н (10+Н), но сюда еще может вкрасться лишняя единичка, снесенная из меньшего разряда Д+Д, держим ее в уме пока. С другой стороны, Н+Н=О (или Н+Н=1О) - если посмотреть на самый младший разряд. Для того, чтобы О+О дало хотя бы 10, не говоря уже о еще и +Н, необходимо, чтобы О было больше 4 - иначе даже предположительно снесенная из Д+Д единичка не поможет перевалить за разряд. Опять смотрим на самый младший разряд и понимаем, что О к тому же и четное - без разницы Н+Н=О или Н+Н=1О - снести единичку в О просто неоткуда. Итак, имеем на руках два варианта О=6 или О=8 (четная цифра больше 4). Два - это не так уж много, чтобы их просто перебрать. )) Пробуем О=8. И Д+Д и Н+Н дают 8 в последнем разряде - значит, одно из них 4, другое 9. Н=4,Д=9 - не подходит - Д+Д=18, сносит единичку в следующий разряд, а там О+О(+1)=МН , то есть 8+8(+1)=14. 8) Н=9,Д=4 - тоже не подходит - Д+Д=8 и не сносят единички, а там 8+8=19. 8) Больше вариантов нет, значит О - никак не восемь. Остается тогда только О=6. 6+6=12, или если у нас затесалась снесенная единичка, то 6+6=13 - то есть то ли Н=2, то ли Н=3. Опять возвращаемся в младший разряд - 2+2=6 никак не получается, значит Н=3. Тогда остается Д=8 - кроме тройки и восьмерки больше никто не даст суммы, оканчивающейся на 6, а тройка уже занята. Получаем: 68И3 + 68И3 = 136Г6. Г - четное, как два И, без сноса разряда (3+3=6 разряд не сносит). Само И+И тоже разряд не сносит - иначе бы шесть не могло получиться из Д+Д. Сколько там у нас осталось незанятых цифр, меньших 5 ? 0,2 и 4. 0 отпадает, тогда И+И=И а не Г. 4 отпадает, 4+4=2 мы не сделаем. Остается 2+2=4. Подставляем все найденные цифры в оригинал и получаем 6823 + 6823 = 13646


Моих мозгов не хватило, чтобы сразу разобраться даже по решению (до сих пор не разобрался). Это так удивительно, но вроде эта задача из:
Эти задания в тетради "Будущему 4-класснику", авторы Г.В.Белых и А.И.Ляхова.
Какие малыши умные, должно быть

Phiona, я эту фразу не пойму:
Цитата Сообщение от Phiona Посмотреть сообщение
из некоторого набора таких головоломок (до 10);
0
Модератор
 Аватар для D1973
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,454
Записей в блоге: 3
20.04.2015, 22:10
Цитата Сообщение от BRcr Посмотреть сообщение
Что-то я не очень понимаю суть головоломки.
Такая штука называется криптарифм
или вот еще
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
20.04.2015, 22:24
D1973, что-то в эту степь я и спрашивал, да. В частности, почему в криптарифме Дьюдени буква Y полагается тождественной цифре 2? Принцип просто в нахождении ближайшего варианта?
0
Модератор
 Аватар для D1973
9939 / 6475 / 2459
Регистрация: 21.01.2014
Сообщений: 27,454
Записей в блоге: 3
20.04.2015, 22:39
По сути - да. Только хороший криптарифм - это криптарифм с одним решением. Поэтому ОДИН + ОДИН = МНОГО - не совсем удачная конструкция, т.к. там возможно 5 решений (вот в этой теме я их показывал)
1
9949 / 2950 / 497
Регистрация: 05.10.2013
Сообщений: 8,030
Записей в блоге: 242
21.04.2015, 01:27
Цитата Сообщение от Phiona Посмотреть сообщение
1) предлагает игроку числовые головоломки типа ОДИН + ОДИН = МНОГО из некоторого набора таких головоломок (до 10);
Придумайте или найдите ещё таких головоломок

Первую я сделал:
Миниатюры
Игра "Числовые головоломки"   Игра "Числовые головоломки"  
Вложения
Тип файла: zip OДИН_ПЛЮС_ОДИН.zip (5.61 Мб, 64 просмотров)
1
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
23.04.2015, 20:03  [ТС]
я так понимаю,надо определенной переменной присваивать ячейки с одинаковыми буквами?(чтобы числа были одинаковые)
Миниатюры
Игра "Числовые головоломки"  
0
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
23.04.2015, 20:31  [ТС]
может вы наведете на правильную мысль?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
23.04.2015, 20:36
Цитата Сообщение от Phiona Посмотреть сообщение
может вы наведете на правильную мысль?
В смысле какую мысль ? За вас сделали программу, вы хотя бы спасибо сказали бы и потрудились бы разобраться что к чему

Не по теме:

слишком много бы :))))

0
 Аватар для Phiona
16 / 2 / 6
Регистрация: 08.10.2013
Сообщений: 258
23.04.2015, 20:46  [ТС]
если бы)QT не знаком мне)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.04.2015, 20:46

Вывести строку для решения головоломки "Игра в 8"
Напишите пожалуйста код , само задание: У нас есть 15 квадратных фишек. Числа пронумерованны от 1 до 15. Фишки уложены в квадрат в 4...

Определить функцию SUM-NUMERIC-ELEMENTS, которая складывает все числовые значения в списке, игнорируя не числовые элементы
Доброго времени суток, помогите пожалуйста написать функцию SUM-NUMERIC-ELEMENTS, которая складывает все числовые значения в списке,...

ГОЛОВОЛОМКИ НА С++
Ребят, ищу головоломки на С++(составляю справочник, помощь не останется без внимания, имена помогающих будут занесены в справочник.) ...

головоломки
числа 1,34,6 с помощью знаков( действий )+;-4;/;* и скобок получить число 24 . не пойму эти данные использовать один раз или нет так...

Головоломки на С++
Ребят, ищу головоломки на С++(составляю справочник, помощь не останется без внимания, имена помогающих будут занесены в справочник.) ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу. До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru