Криптарифметическая головоломка

Я пытаюсь решить эту криптарифметическую головоломку ДВА + ДВА = ЧЕТЫРЕ, и я использовал грубую грубую силу, но я не могу понять, где я делаю ошибку. Идея здесь состоит в том, что он пробует все возможные комбинации чисел от 0 до 10, и все числа, которые назначены символам, должны быть различны. По определению

Криптарифметическая головоломка — математическая игра, в которой цифры
некоторые цифры представлены буквами (или символами). Каждое письмо
представляет собой уникальную цифру. Цель состоит в том, чтобы найти цифры так, чтобы
Данное математическое уравнение проверяется:
В этом случае:

   TWO
+ TWO
------
= FOUR

Этот код проходит через все возможные комбинации, пока не найдет решение, которое удовлетворит проблему. Ограничение на это дано в else if заявление.
Первый if оператор просто проверяет, совпадают ли числа, и если они есть, он просто пропускает эту итерацию.

Мой желаемый результат, чтобы увидеть все правильные решения отображаются.

int T, W, O, F, U, R;

for (T = 0; T < 10; T++)
{
for (W = 0; W < 10; W++)
{
for (O = 0; O < 10; O++)
{
for (F = 0; F < 10; F++)
{
for (U = 0; U < 10; U++)
{
for (R = 0; R < 10; R++)
{
if ((T == W) || (T == O) || (T == F) || (T == U) || (T == R) || (W == O) || (W == F) || (W == U) || (W == R) || (O == F) || (O == U) || (O == R) || (F == U) || (F == R) || (U == R))
{
continue;
}
else if (200 * T + 20 * W + 2 * O == F * 1000 + O * 100 + U * 10 + R * 0) {
cout << "T = " << T << endl
<< "W = " << W << endl
<< "O = " << O << endl
<< "F = " << F << endl
<< "U = " << U << endl
<< "R = " << R << endl << endl;
break;
}
}
}
}
}
}
}

Я получаю кучу результатов и, что интересно, только последний результат хорош, где он дает:

T = 7
W = 6
O = 5
F = 1
U = 3
R = 0

0

Решение

R * 0 должно быть R * 1 ,

Ответ, который вы получили, оказался правильным, был тот, где R = 0 (потому что когда R является 0, R * 0 такой же как R * 1). Я думаю, вы тоже хотите начать F от 1 как правило, криптарифмы не допускают начальные нули.

3

Другие решения

Других решений пока нет …