Witam. Nie jestem pewien czy to właściwy dział. Mam do napisania program, właściwie w dowolnym języku programowania. Pierwszą próbę podjąłem w Turbo Pascalu, ale równie dobrze może to być np. w C++ (bo ten język też trochę ogarniam). Ogólnie nie programowałem od 2 lat, zatem proszę o wyrozumiałość:)
Zatem tak: muszę napisać program, który policzy mi rozwiązanie takiej zagadki literowo-cyfrowej:
ABCD
x CEF
--------
GBBHBIJ
Gdzie pod każdą literę należy podstawić inną cyfrę tak, aby obliczenia się zgadzały. Plus jest taki, że mój program musi policzyć tylko tę zagadkę, a nie taki typ zagadek w ogólności. To, co napisałem do tej pory wygląda tak:
uses crt;
var a:array[1..10] of integer;
begin
clrscr;
writeln('a[1]=A, a[2]=B, a[3]=C, a[4]=D, a[5]=E, a[6]=F, a[7]=G, a[8]=H, a[9]=I, a[10]=J');
while (a[1]<>a[2]) and (a[2]<>a[3]) and (a[3]<>a[4]) and (a[4]<>a[5]) and
(a[5]<>a[6]) and (a[6]<>a[7]) and (a[7]<>a[8]) and (a[8]<>a[9]) and (a[9]<>a[10]) do
for a[1]:=1 to 9 do
for a[2]:=0 to 9 do
for a[3]:=1 to 9 do
for a[4]:=0 to 9 do
for a[5]:=0 to 9 do
for a[6]:=0 to 9 do
for a[7]:=1 to 9 do
for a[8]:=0 to 9 do
for a[9]:=0 to 9 do
for a[10]:=0 to 9 do
begin
if 100000*a[3]*a[1]+10000*(a[5]*a[1]+a[2]*a[3])+1000*(a[1]*a[6]+
a[2]*a[5]+a[3]*a[3])+100*(a[2]*a[6]+a[5]*a[3]+a[3]*a[4])+10*(a[6]*a[3]+
a[4]*a[5])+a[4]*a[6]=1000000*a[7]+100000*a[2]+10000*a[2]+1000*a[8]+
100*a[2]+10*a[9]+a[10]
then writeln('sukces');
end;
readln;
end.
I po tym sukces planowałem wypisać policzone wartości a[1] do a[10]. Jak na razie program nie liczy nic.
Będę wdzięczny za wszelkie rady.
Pozdrawiam.