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

0 голосов
30 просмотров

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


Информатика (15 баллов) | 30 просмотров
0

А что за проблема? Отдельно возводим в степень числитель и знаменатель

Дан 1 ответ
0 голосов
Правильный ответ

// 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:='-';<br>      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





(142k баллов)