// PascalABC.NET 3.0, сборка 1150 от 22.01.2016 begin var a,b,sgn:integer; var aa,bb,ap,bp:BigInteger; var s:string:=''; Write('Введите числитель и знаменатель дроби: '); Read(a,b); var n:=ReadInteger('Ввведите показатель степени:'); if n=0 then WritelnFormat('({0}/{1})^0 = 1',a,b) else if (a=0) and (b<>0) then WritelnFormat('(0/{0})^{1} = 0',b,n) else begin if a*b<0 then s:='-'; aa:=abs(a); bb:=abs(b); ap:=1; bp:=1; if n>0 then for var i:=1 to n do begin ap*=aa; bp*=bb end else for var i:=1 to -n do begin ap*=bb; bp*=aa end; if bp=1 then WritelnFormat('({0}/{1})^{2} = {3}{4}',a,b,n,s,ap) else WritelnFormat('({0}/{1})^{2} = {3}{4}/{5}',a,b,n,s,ap,bp) end end.
begin
var a,b,sgn:integer;
var aa,bb,ap,bp:BigInteger;
var s:string:='';
Write('Введите числитель и знаменатель дроби: ');
Read(a,b);
var n:=ReadInteger('Ввведите показатель степени:');
if n=0 then WritelnFormat('({0}/{1})^0 = 1',a,b)
else
if (a=0) and (b<>0) then WritelnFormat('(0/{0})^{1} = 0',b,n)
else begin
if a*b<0 then s:='-';
aa:=abs(a); bb:=abs(b); ap:=1; bp:=1;
if n>0 then
for var i:=1 to n do begin ap*=aa; bp*=bb end
else
for var i:=1 to -n do begin ap*=bb; bp*=aa end;
if bp=1 then
WritelnFormat('({0}/{1})^{2} = {3}{4}',a,b,n,s,ap)
else
WritelnFormat('({0}/{1})^{2} = {3}{4}/{5}',a,b,n,s,ap,bp)
end
end.
Тестовые примеры:
Введите числитель и знаменатель дроби: 1 23
Ввведите показатель степени: 5
(1/23)^5 = 1/6436343
Введите числитель и знаменатель дроби: 1 6
Ввведите показатель степени: -4
(1/6)^-4 = 1296
Введите числитель и знаменатель дроби: -3 31
Ввведите показатель степени: 11
(-3/31)^11 = -177147/25408476896404831
Введите числитель и знаменатель дроби: -17 -125
Ввведите показатель степени: 4
(-17/-125)^4 = 83521/244140625
Введите числитель и знаменатель дроби: -15 27
Ввведите показатель степени: 0
(-15/27)^0 = 1
Введите числитель и знаменатель дроби: 0 3
Ввведите показатель степени: 2
(0/3)^2 = 0
Введите числитель и знаменатель дроби: 2 0
Ввведите показатель степени: 3
(2/0)^3 = 8/0
Введите числитель и знаменатель дроби: 0 0
Ввведите показатель степени: 3
(0/0)^3 = 0/0