切换到宽版
  • 5782阅读
  • 3回复

求助 [复制链接]

上一主题 下一主题
离线nostudytoday
 
只看楼主 倒序阅读 0 发表于: 2006-11-05
一个数m的n次方用pascal怎么实现?
离线zhuang
只看该作者 1 发表于: 2006-11-05
m^n=e^(ln(m^n))=e^(n(lnm))
所以可以用exp(n*ln(m))
...多思考,少说话...
离线stevenjl

只看该作者 2 发表于: 2006-11-05
m^n用Free Pascal可以用m**n,注意返回的是longint以内的。

如果要更大的可以编子程序:
function power(a,b:integer) : int64;
var i:integer;
jg:int64;
begin
jg:=1;
for i:=1 to b do jg:=jg*a;
exit(jg);
end;

调用的时候用power(m,n)就可以了,注意在FP下编译
Dream Walker...
离线archimedes

只看该作者 3 发表于: 2006-11-15
引用第1楼zhuang2006-11-05 21:43发表的:
m^n=e^(ln(m^n))=e^(n(lnm))
所以可以用exp(n*ln(m))

right
快速回复
限100 字节
 
上一个 下一个