在 Pascal 中使用幂

Using Powers in Pascal

program Project1;

var
  num1: integer;
  num2: integer;
  answer: integer;
begin
  writeln('This program will accept two input values and raise the first number to the power of the second value');
  writeln('Please enter the first number');
  readln(num1);
  writeln('Please enter the second number');
  readln(num2);

  writeln(num1**num2);
end.

这是我的 Pascal 代码。我想输入两个值,然后回答 return 第一个值对第二个值的幂。有人可以帮忙吗?

power operator ** for numeric types 没有为数字类型定义。但是,它是公认的运算符,并且 math 单元定义了整数和浮点类型的重载。因此,您必须使用该单元,然后您的代码才能正确编译和运行。

添加

uses
  math;

到你的代码。

另一种方法是使用 for 循环:

pow:=1;
for i:=1 to num2 do
 pow:=pow*num1;

您好,我想这个功能会对您有所帮助。

Program Power_fun;
    {$APPTYPE CONSOLE}
    Function Power(x, p: Double): Double;
      Var negative: Double;
    Begin
        If(x<0) Then
        Begin
          If(Round(p) mod 2 = 0) Then negative := 1
            Else negative := -1;
          x := -x;
        End
        Else negative := 1;
        Power := Exp(p*(Ln(x)))*negative;
    End;
Begin
    Writeln(Power(2, 2));
    Writeln(Power(5, 2));
    Writeln(Power(-2, 2));
    Writeln(Power(-2, 3));
    Writeln(Power(-5, 3));
    readln;
End.