Люди помогите...Вчера сделал прогу вроде бы пашет но не очень :-). Смысл такой.... Нода ввести число n. Вычислить количество щасливых билетов которых есть 2*n и у которых сумма первых n цифр равна сумме останних n цифр.Вот мой текст. Прога работает только для n=2. А для n=3 число вариантов меньше.Не понимаю почему. если кто поможет буду благодарен...
а вот и текст
Код
uses crt;
var k1,k2,i,d,n,zah,x1,x2: longint;
s,s1,s2,t:string;
function step(x,n:integer): longint;
var i,h:longint;
begin
h:=1;
for i:=1 to n do h:=h*x;
step:=h;
end;
function sum(r:string):longint;
var s3:string;
j,w,rax:longint;
e:integer;
begin
w:=0;
for j:=1 to length( r ) do
begin
s3:=copy(r,1,1);
delete(r,1,1);
val(s3,rax,e);
w:=w+rax;
end;
sum:=w;
end;
begin
clrscr;
write('vvedyte N: ');readln(n);
k1:=step(10,2*n)-1;
k2:=step(10,n)-1;
for i:=k2 to k1 do
begin
str(I,s);
t:=s;
d:=length(s);
while d<> 2*n do
begin
s:='0'+s;
d:=length(s);
end;
s1:=copy(s,1,n);
delete(s,1,n);
s2:=s;
x1:=sum(s1);
x2:=sum(s2);
if x1=x2 then inc(zah);
end;
writeln;
writeln('kolichestvo ',zah,' biletov');
readln;
end.
Я скоро устану заключать код в соответствующие теги за место авторов!