PROGRAM Power_Long;
var
i:byte; // счетчик
si, so:string; // числа в виде строк
power:byte; //показатель степени
function readFile(filename:string):string;
var f:text;
s:string;
begin
assign(f,filename); Reset(f);
readln(f,s);
readln(f,power);
close(f);
readFile := Trim(s);
end;
function multiplyLong(s1:string; s2:string):string;
var
i,j,k,l:byte; //счетчики
z:boolean; //
A,B,T,R:array [0..100] of byte; //массивы
carry:byte; //перенос при умножении и суммировании
rt:string;//результат
begin
// первая строка чисел в массив
l:=Length(s1);
// A := new byte[l+1];
A[0]:=l; //количество
for i:=l downto 1 do
A[l-i+1]:=ord(s1[i]) - 48;
// вторая строка чисел в массив
k:=Length(s2);
// B := new byte[k+1];
B[0]:=k; //количество
for i:=k downto 1 do
B[k-i+1]:=ord(s2[i]) - 48;
i:=l+k; // 999*9999=9989001, т.е. максимум 7знаков
// R := new byte[i+1]; //массив с результатом
R[0]:=i;//количество
// T := new byte[i+1];//temp - произведение A на один знак из B
for i:=1 to A[0] do begin
//T := умножение A на один знак из B
carry:=0;
for j:=1 to B[0] do begin
k:= A[i] * B[j] + carry;
carry := k div 10;
T[j]:= k mod 10;
end;
j:=j+1;
T[j]:=carry;
T[0]:=j;
// прибавление T к результату R
carry:=0;
for j:=1 to T[0] do begin
k := T[j] + R[j+i-1] + carry;
carry := k div 10;//перенос
R[j+i-1] := k mod 10;
end;
end;
rt:='';
z:=false;//проверка на ведущие нули
for i:= R[0] downto 1 do begin
if (R[i]>0) then begin
rt := rt + R[i];
z:=true;//все последущие нули надо добавить в число
end else
if (R[i]=0) and z then
rt := rt + R[i];
end;
multiplyLong := rt;
end;
BEGIN
si := readFile('input.txt');
so := multiplyLong(si, si); //возвели во вторую степень
// возведение в степень от 3 и выше умножением
for i:=3 to power do begin
so := multiplyLong(si, so);
end;
writeln( si, '^',power,' = ',so );
END.
Будет выведена только 9(как строка)
Так как переменная I у тебя задается числом 5, а в условии цикла i строго меньше 5
Соотвественно он не будет просто исполнятся
Program p1;
var x1,x2,y1,y2:integer;
function dlina(xx1,yy1,xx2,yy2:real):integer;
begin
dlina:=round(sqrt(sqr(xx1-xx2)+sqr(yy1-yy2)));
end;
begin
writeln('Введите координаты первой точки');
readln(x1,y1);
writeln('Введите координаты второй точки');
readln(x2,y2);
writeln('Расстояние между точками:',dlina(x1,y1,x2,y2));
end.
X=R2C2=RC[-4]
y=R2C3=RC[-3]
z=R2C4=RC[-2]
1. =3,4*RC[-3]+RC[-2]
2. =(R[-1]C[-3]+R[-1]C[-2])*R[-1]C[-1]
3. =0,8*R[-2]C[-3]+0,9*R[-2]C[-2]-R[-2]C[-3]*R[-2]C[-2]
4. =(R[-3]C[-3]+R[-3]C[-1])*R[-3]C[-2]+0,1*R[-3]C[-3]
5. =(R[-4]C[-3]-R[-4]C[-1])*R[-4]C[-1]+R[-4]C[-2]*R[-4]C[-1]
6. =6*((R[-5]C[-3])^3-5*R[-5]C[-2]/6)/((R[-5]C[-3])^3-6*R[-5]C[-2])
7. =(15*(R[-6]C[-3])^2-7*R[-6]C[-2]/12)/(18*R[-6]C[-2]+(R[-6]C[-3])^2)
8. =(40*(R[-7]C[-2])^3+4*R[-7]C[-3]/9)/(6*(R[-7]C[-3])^2-18*R[-7]C[-3]*R[-7]C[-2])
9. =(((5*(R[-8]C[-3])^(3*R[-8]C[-2])-2))/(10*R[-8]C[-3]*R[-8]C[-2]))/((12*R[-8]C[-3]+R[-8]C[-2])/(3*R[-8]C[-3]-(R[-8]C[-2])^(5+2*R[-8]C[-3])))
<span>10. =((5*(R[-9]C[-3])^(3+R[-9]C[-2])-2)/(10-R[-9]C[-3]*R[-9]C[-2]))/(12*R[-9]C[-3]*R[-9]C[-2]/(3*R[-9]C[-3]+(R[-9]C[-2])^2*R[-9]C[-3])))
</span>
1а) -0.0222
1б) 0,0000001
1в) 6800000
1г) 4.3
2)
B=A*A (A^2)
C=B*B (A^4)
D=C*C (A^8)
E=D*C(A^12)
Result=E*A (A^13)