Другие языки программирования и технологии

Помогите решить задачу)) Написать программу решения математического ребуса: VOLVO+FIAT=MOTOR.

Здесь должна быть куча циклов друг в друге, с проверкой, что разные буквы должны соответствовать разным цифрам.
for V = 1 to 9
for O = 0 to 9
if O <> V then
for L = 0 to 9
if (L <> O) and (L <> V) then
for F = 1 to 9
if (F <> L) and (F <> O) and (F <> V) then
for I = 0 to 9
if (I <> F) and (I <> L) and (I <> O) and (I <> V) then
for A = 0 to 9
if (A <> I) and (A <> F) and (A <> L) and (A <> O) and (A <> V) then
for T = 0 to 9
if (T <> A) and (T <> I) and (T <> F) and (T <> L) and (T <> O) and (T <> V) then
for M = 1 to 9
if (M <> T) and (M <> A) and (M <> I) and (M <> F) and (M <> L) and (M <> O) and (M <> V) then
for R = 0 to 9
if (R <> M) and (R <> T) and (R <> A) and (R <> I) and (R <> F) and (R <> L) and (R <> O) and (R <> V) then
if V*10000 + O*1000 + L*100 + V*10 + O + F*1000 + I*100 + A*10 + T = M*10000 + O*1000 + T*100 + O*10 + R then
print str (V*10000 + O*1000 + L*100 + V*10 + O + F*1000 + I*100 + A*10 + T) & " = " & str (M*10000 + O*1000 + T*100 + O*10 + R)
end if
end if
next R
end if
next M
end if
next T
end if
next A
end if
next I
end if
next F
end if
next L
end if
next O
next V

Примерно так. Но поверь, это всё будет считаться очень долго. Проще головой подумать, например, очевидно, что M = V + 1, и один цикл можно сразу убрать, ну и дальше можно кое-что сообразить.
Виктор Амелин
Виктор Амелин
77 976
Лучший ответ
вот решение макросом в Excel, на pascal лениво переводить :
а посчиталось на ноуте за 3 сек :)))))))

Sub ppp()
kk = 0
For V = 0 To 9
Cells(1, 1) = V
For O = 0 To 9
If V <> O Then
For L = 0 To 9
If L <> V And L <> O Then
For F = 0 To 9
If F <> V And F <> O And F <> L Then
For I = 0 To 9
If I <> V And I <> O And I <> L And I <> F Then
For A = 0 To 9
If A <> V And A <> O And A <> L And A <> F And A <> I Then
For T = 0 To 9
If T <> V And T <> O And T <> L And T <> F And T <> I And T <> A Then
num = V * 10000 + O * 1000 + L * 100 + V * 10 + O + F * 1000 + I * 100 + A * 10 + T
num0 = num
R = num Mod 10
If R <> V And R <> O And R <> L And R <> F And R <> I And R <> A And R <> T Then
num = (num - R) / 10
O1 = num Mod 10
If O1 = O Then
num = (num - O1) / 10
T1 = num Mod 10
If T1 = T Then
num = (num - T1) / 10
O2 = num Mod 10
If O2 = O Then
M = (num - O2) / 10
If M <> V And M <> O And M <> L And M <> F And M <> I And M <> A And M <> T And M <> T Then
Cells(4 + kk, 1) = num0 ' motor
Cells(2 + kk, 1) = V * 10000 + O * 1000 + L * 100 + V * 10 + O
Cells(3 + kk, 1) = F * 1000 + I * 100 + A * 10 + T
kk = kk + 4
End If
End If
End If
End If
End If
'VOLVO+FIAT=MOTOR
End If
Next T
End If
Next A
End If
Next I
End If
Next F
End If
Next L
End If
Next O
Next V
End Sub
'VOLVO+FIAT=MOTOR

а вот эти числа

15615
9743
25358

15715
9643
25358

36736
9825
46561

36836
9725
46561

46346
9821
56167

46846
9321
56167

71571
9642
81213

71671
9542
81213

72472
9651
82123

72672
9451
82123
Сергей Поляков
Сергей Поляков
57 661
в чем суть то?

Какой язык?
Игорь Кротюк
Игорь Кротюк
5 275