Proc 39. Используя функции Power1 и Power2 (задания Proc37 и Proc38), описать функцию Power3(A, B) вещественного типа с вещественными параметрами, находящую \(A^B\) следующим образом: если B имеет нулевую дробную часть, то вызывается функция Power2(A, Round(B)); в противном случае вызывается функция Power1(A, B). С помощью этой функции найти \(A^P\), \(B^P\), \(C^P\), если даны числа P, A, B, C.

Решение на Python 3

import random
import math

def Power1(A,B):
result = math.exp(B*math.log(A))
return result

def Power2(A,N):
i = 0
p = 1

if N < 0:
N1 = -N
else:
N1 = N

while i < N1:
p *= A
i += 1

if N < 0:
p = 1 / p

return p

def Power3(A,B):
result = Power2(A,B) if B == int(B) else Power1(A,B)
return result

A = 2
P = 10
print(A,"^",P," = ",Power3(A,P),"; ",A**P)

A = 36
P = 0.5
print(A,"^",P," = ",Power3(A,P),"; ",A**P)

A = 2.25
P = 0.5
print(A,"^",P," = ",Power3(A,P),"; ",A**P)

A = 2.25
P = -0.5
print(A,"^",P," = ",Power3(A,P),"; ",A**P)