Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ребус

Автор: Гость 24.05.2007 16:13

Ребус один+один+один+один+один=пять

Посмотрите плз, есть ли ошибка или это просто ребус без решения? nea.gif


uses crt;

var
o , d , i , n , p , y , a , t: 0 .. 9;

dig : set of 0..9;
sum, pyat: longint;

begin
clrscr;
for o:=0 to 9 do begin
include(dig,o);
for d:=0 to 9 do if not (d in dig) then begin
include(dig,d);
for i:=0 to 9 do if not (i in dig) then begin
include(dig,i);
for n:=0 to 9 do if not (n in dig) then begin
include(dig,n);
for p:=0 to 9 do if not (p in dig) then begin
include(dig,p);
for y:=0 to 9 do if not (y in dig) then begin
include(dig,y);
for a:=0 to 9 do if not (a in dig) then begin
include(dig,a);
for t:= 0 to 9 do if not (t in dig) then begin
include(dig, t);



sum :=5*(o*1000 + d*100 + i*10 + n);
pyat :=p*1000+y*100+a*10+t;

if sum = pyat then
writeln(':', o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'=', p,y,a,t);
exclude(dig, o)
end;
exclude(dig, d);
end;
exclude(dig,i);
end;
exclude(dig,n);
end;
exclude(dig,p);
end;
exclude(dig,y);
end;
exclude(dig,a);
end;
exclude(dig,t);
end;
end.


буду очень благодарен give_rose.gif

Автор: volvo 24.05.2007 16:26

Есть ошибка... Исключать элементы из множества надо в обратном порядке:

uses crt;

var
o , d , i , n , p , y , a , t: 0 .. 9;

dig : set of 0..9;
sum, pyat: longint;

begin
clrscr;
for o:=0 to 9 do begin
include(dig,o);
for d:=0 to 9 do if not (d in dig) then begin
include(dig,d);
for i:=0 to 9 do if not (i in dig) then begin
include(dig,i);
for n:=0 to 9 do if not (n in dig) then begin
include(dig,n);
for p:=0 to 9 do if not (p in dig) then begin
include(dig,p);
for y:=0 to 9 do if not (y in dig) then begin
include(dig,y);
for a:=0 to 9 do if not (a in dig) then begin
include(dig,a);
for t:= 0 to 9 do if not (t in dig) then begin
include(dig, t);



sum :=5*(o*1000 + d*100 + i*10 + n);
pyat :=p*1000+y*100+a*10+t;

if sum = pyat then
writeln(':', o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'+',o,d,i,n,'=', p,y,a,t);
exclude(dig, t)
end;
exclude(dig, a);
end;
exclude(dig,y);
end;
exclude(dig,p);
end;
exclude(dig,n);
end;
exclude(dig,i);
end;
exclude(dig,d);
end;
exclude(dig,o);
end;
end.


Автор: Гость 24.05.2007 18:05

О,точно! Пасиб те огромное!!