Составить программу,которая возводит в степень дробь

// 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.

Тестовые примеры:
Введите числитель и знаменатель дроби: 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





Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку