Volvo, эта прога с твоего сайта странно работает она к примеру из числа 138384 не верно считает корень ды и не только для него...
Если ты можешь загляни сюда comp-science.hut.ru/dl-ar/dl-ar.html
и напиши прогу по этому мат алгоритму. Я могу выложить то что я пока сделал но не знаю поможет ли это.. Пожалуйста помоги а то у меня курсовик стоит, из 10 задач одна эта осталась.
Добавлено через 11 мин. Цитата(SSJ @ 10.04.2007 21:21)

Volvo, эта прога с твоего сайта странно работает она к примеру из числа 138384 не верно считает корень ды и не только для него...
Если ты можешь загляни сюда comp-science.hut.ru/dl-ar/dl-ar.html
и напиши прогу по этому мат алгоритму. Я могу выложить то что я пока сделал но не знаю поможет ли это.. Пожалуйста помоги а то у меня курсовик стоит, из 10 задач одна эта осталась.
Program KvadratniiKoren;
const
nmax=2000;
var
c,n,c2:array[1..nmax]of integer;
m,zt,c2i,a1s,cs,bbs,rezs,nj,nt,max0s,max1s:string;
mI,l,i,kolgr,j,code,max,max1,x,z,zz,ab1,am1,cc,rez,bm,bb,u:integer;
log:text;
begin
assign(log,'log.ssj_prog'); {очищаем файл}
rewrite(log);
close(log);
read(m);
l:=length(m);
for i:=1 to l do begin {заполняем массив с(числовой)из файла, по 1 символу(цифре) в ячейку массива}
val(m[i],mI,code);
c[i]:=mI; end;
if l mod 2 =0 then {если число цифр в введенном числе четное то по два числа в грани, если нечетное то первая слева грань имеет 1 цифру а все остальные по 2}
begin
writeln('кол-во цифр в числе четное ',l);
for i:=1 to l do begin
assign(log,'log.ssj_prog');
append(log);
writeln(log,m[i],m[i+1]);
i:=i+1;
close(log); end;
kolgr:=round(l/2); {определяем кол-во граней(групп по 2 цифры), ! число граней равно числу цифр исходеного числа}
writeln('В результате должно получиться число, длина которого ',kolgr,' цифр');
assign(log,'log.ssj_prog'); {заполняем массив с2(числовой)из файла, по 2 символа(цифре) в ячейку массива}
reset(log);
for j:=1 to kolgr do
readln(log,c2[j]);
close(log);
erase(log);
writeln('Вывожу введенное число с расстановленными гранями');
for j:=1 to kolgr do write(c2[j],' ');
writeln;
assign(log,'log.ssj_prog');
rewrite(log);
close(log);
nt:='';
for i:=1 to kolgr do
if i=1 then begin
for x:=1 to c2[1] do
if c2[1]>= sqr(x) then max:=x; {ищем число квадрат которого меньше или равен числу 1-ой грани}
assign(log,'log.ssj_prog');
append(log);
writeln(log,max);
close(log);
if kolgr>1 then begin
str(max,max0s);
nt:=nt+max0s;
z:=sqr(max);
zz:=c2[1]-z;
str(zz,zt);
str(c2[i+1],c2i);
a1s:=zt+c2i;
val(a1s,ab1,code);
am1:=2*max;
for x:=1 to ab1 do
if (10*am1+x)*x<=ab1 then max1:=x;
assign(log,'log.ssj_prog');
append(log);
writeln(log,max1);
close(log);
str(max1,max1s);
nt:=nt+max1s;
cc:=ab1-(10*am1+max1)*max1;
end;
for i:=3 to kolgr do begin
str(cc,cs);
str(c2[i],c2i);
bbs:=cs+c2i;
val(bbs,bb,code);
rezs:='';
for j:=1 to i do begin
rezs:=rezs+nt;
val(rezs,rez,code);
bm:=2*rez;
for x:=1 to bb do
if (10*bm+x)*x<=bb then max:=x;
cc:=bb-(10*bm+max)*max;
assign(log,'log.ssj_prog');
append(log);
writeln(log,max);
close(log);
end;
end;
end;
{результат пока выводит в файл}
end;
end.