О типах x и n неизвестно ничего, но по сложившейся традиции резонно предположить, что n - целое, x - вещественное. Представленная программа написана именно в таком понимании типов переменных.
var i,n:integer; x,p:double; begin Write('Введите основание (x) и показатель степени (n): '); Read(x,n); if x=0 then p:=0 else begin p:=1; for i:=1 to Abs(n) do p:=p*x; if n<0 then p:=1/p end; Writeln(x,'^',n,'=',p) end.
Тестовые решения:
Введите основание (x) и показатель степени (n): 2 30 2^30=1073741824
Введите основание (x) и показатель степени (n): -3.35 9 -3.35^9=-53137.7624927636
Введите основание (x) и показатель степени (n): 18.3 -4 18.3^-4=8.9165251950717E-06
#include <iostream> #include <cstdio> #include <cmath> using namespace std; int main() { int a, b, c; cin>>a>>b>>c; if ((a + b < c) || (a + c < b) || (b + c < a)) { cout<<"Не треугольник"; return 0; } if ((a * a + b * b == c * c) || (a * a + c * c == b * b)|| (c * c + b * b == a * a)) { cout<<"Прямоугольный"; return 0; } if ((a * a + b * b > c * c) || (a * a + c * c > b * b)|| (c * c + b * b > a * a)) cout<<"Остроугольный"; else cout<<"Тупоугольный"; }
var
i,n:integer;
x,p:double;
begin
Write('Введите основание (x) и показатель степени (n): ');
Read(x,n);
if x=0 then p:=0
else begin
p:=1;
for i:=1 to Abs(n) do p:=p*x;
if n<0 then p:=1/p
end;
Writeln(x,'^',n,'=',p)
end.
Тестовые решения:
Введите основание (x) и показатель степени (n): 2 30
2^30=1073741824
Введите основание (x) и показатель степени (n): -3.35 9
-3.35^9=-53137.7624927636
Введите основание (x) и показатель степени (n): 18.3 -4
18.3^-4=8.9165251950717E-06