Составить программу, которая: 1) предлагает игроку числовые головоломки типа ОДИН + ОДИН = МНОГО(цифры зашифрованы буквами) из некоторого набора таких головоломок (до 30); 2) позволяет решить головоломку; 3) контролирует правильность решения.
ОП, тебе нужно хреналион задачек, а я слишком ленив и не знаю C#. Смотри, берешь отсюда задачи, решаешь их алгоритмами http://www.smekalka.pp.ru/math_rebus.html, пример пикрелейтед python, но вроде ничего сложного. Для написания большинства алгоритмов нужно разбить число на разряды, вот ссылка http://www.cyberforum.ru/csharp-beginners/thread1450160.html Потом пишешь меню, и либо рандомом предлагаешь головломку, либо просишь ввести номер головоломки и вызываешь нужный алгоритм
>>196764180 >>196760884 (OP) Насколько я понял, головоломки генерировать не надо, надо просто выбирать случайные из готового списка и проверять решения. Исходил из предположения что все головоломки выглядят как равенство из левой и правой частей. Если частей и знаков равно может быть больше, то поправь последнее условие в последней функции на "computedParts.Distinct().Count() == 1" или что-то подобное по смыслу.
>>196763848 >>196764082 Он всё еще неправильный. Где проверка на то что в числе "ДВА" все цифры разные и ни одна не совпадает с цифрами из числа "ЧЕТЫРЕ"? Где такая же проверка для числа "ЧЕТЫРЕ"? Ответ на твоей картинке неверный. 461 * 461 = 212521. Третья цифра числа "ДВА" совпадает со второй и шестой цифрами числа "ЧЕТЫРЕ", плюс первая, третья и пятая цифры числа "ЧЕТЫРЕ" тоже совпадают.
>>196765876 Зачем 30 правильных алгоритмов? Он просил один алгоритм, который будет проверять правильность решения уже готовых головоломок-шаблонов. Решение выложили, но он проигнорировал. Задачи генерировать или выдумывать головоломки не стояло.
>>196766853 А про что еще? Она по случайно выбирает головоломку из списка (переменная Riddles), для каждой спрашивает и проверяет ответ, пока тот не окажется верным. Потом всё повторяется Можешь поменять принцип выбора головоломок, чтобы не получались подряд одинаковые или чтобы просто проходило по перемешанному списку один раз, но не думаю, что это важно. Надо было сделать что-то другое?
>>196769906 Никак, для C# шестой версии тебе нужна студия 2015 как минимум. Я же уже написал тебе что делать в такой ситуации тут >>196769343. Если у тебя нет возможности использовать интерполяцию строк, то замени её на простую конкатенацию или на String.Format().
>>196770786 А что ты пытаешься сделать? У тебя головоломки выглядят как уравнения из букв, где буквы надо заменить на цифры. Ну вот заменяй и вводи что получилось. А зачем ты вводишь какие-то числа?
>>196770786 И почему ты не выводишь на экран саму головоломку? Ты заменил Console.WriteLine($"Riddle: {riddle}"); на String.Format("Riddle: {0}", riddle). А куда ты дел вызов Console.WriteLine()? Строка, которую ты получаешь из String.Format() никуда сама по себе не выводится. Чтобы вывести текст головоломки на экран надо передать этот текст в Console.WriteLine().
>>196772876 Что за переменные для букв? Я тебе писал в какой переменной находится список с головоломками. Ты и сам можешь это заметить, сделай по аналогии.
>>196773196 Ну у тебя же "буква = цифра", а не "буква = число" в головоломке, почему ты ставишь по одной букве? Ты ведь понимаешь разницу между цифрой и числом?
1) предлагает игроку числовые головоломки типа ОДИН + ОДИН = МНОГО(цифры зашифрованы буквами) из некоторого набора таких головоломок (до 30);
2) позволяет решить головоломку;
3) контролирует правильность решения.
вот что я нашёл на киберфоруме
Кто не ответит, тот репер