|
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме: 422909
Репутация:
200
|
|
У вас ошибко в алгоритме Сэр)):
О. ребят! интересненькая задачка! Pir4tt, замечание верное. но тогда получается, что выводятся все следующие счастливые числа. Надо ведь только одно следующее!  Тут есть маленькая загвоздка. Лучше воспользоваться дополнительными процедурами.
Короче убил, аж целый час. Было интересно!  Проверяй
Код:
Var
a,b,c,d,e,f : byte;
aw,bw,cw,dw,ew,fw,nw : string;
er1,er2,er3,er4,er5,er6 : integer;
left,right:integer;
procedure patch(v1,v2,v3:byte;var ot:integer);
var
buf:string;
code:integer;
begin
if (v1=0) and (v2=0) then buf:=inttostr(v3)
else
if v1=0 then buf:=inttostr(v2)+inttostr(v3)
else
buf:=inttostr(v1)+inttostr(v2)+inttostr(v3);
Val(buf,ot,code);
end;
procedure dispatch(digit:integer; var s1,s2,s3:byte);
var
buf:string;
code:integer;
begin
buf:=inttostr(digit);
if digit<10 then begin
s1:=0;s2:=0;s3:=digit;
end
else
if digit<100 then begin
s1:=0;
Val(copy(buf,2,1),s2,code);
Val(copy(buf,3,1),s3,code);
end
else begin
Val(copy(buf,1,1),s1,code);
Val(copy(buf,2,1),s2,code);
Val(copy(buf,3,1),s3,code);
end;
end;
begin
ClrScr;
writeln('Enter your lucky-number');
readln(nw);
if Length(nw)<>6 then
writeln('Enter valid number')
else
begin
aw:=Copy(nw,1,1);
bw:=Copy(nw,2,1);
cw:=Copy(nw,3,1);
dw:=Copy(nw,4,1);
ew:=Copy(nw,5,1);
fw:=Copy(nw,6,1);
Val(aw,a,er1);
Val(bw,b,er2);
Val(cw,c,er3);
Val(dw,d,er4);
Val(ew,e,er5);
Val(fw,f,er6);
if a+b+c+d+e+f = 54 then
begin
writeln('Congratulation! It is lucky-number!');
writeln('Next lucky-number is 000000');
end
else
if a+b+c=d+e+f then
writeln('Congratulation! It is lucky-number!')
else begin
patch(d,e,f,right);
patch(a,b,c,left);
if left=0 then begin
left:=1;
dispatch(left,a,b,c);
right:=0;
end;
while a+b+c<>d+e+f do
begin
inc(right);
dispatch(right,d,e,f);
if (d=10) and (e=10) and (f=10) then begin
patch(a,b,c,left);
inc(left);
dispatch(left,a,b,c);
end;
end;
writeln('Next lucky-number is ',a,b,c,d,e,f);
end;
readln;
end;
end.
Последний раз редактировалось A2GIL; 07.02.2008 в 23:54..
|