比如 a的5次方,用a*a*a*a*a这样打大数据怎么办?用a^5这样识别不了。怎么办
用exp不行啊
pascal 怎么打 几的次方
答案:5 悬赏:10 手机版
解决时间 2021-04-06 09:29
- 提问者网友:暮烟疏雨之际
- 2021-04-06 03:52
最佳答案
- 五星知识达人网友:第幾種人
- 2021-04-06 04:25
x:=1;
for i:=1 to n do begin{n是表示n次方,根据自己的情况更改}
x:=x*a;
end;
for i:=1 to n do begin{n是表示n次方,根据自己的情况更改}
x:=x*a;
end;
全部回答
- 1楼网友:山有枢
- 2021-04-06 07:26
exp(ln(a)*b) (TP)
power(a,b) (FP)
exp得到的是real类型数据,如果要用整数承接那么需要加上round( )
- 2楼网友:山有枢
- 2021-04-06 05:46
省略输入输出部分
小数据用:
(answer为QWORD范围)
answer:=1;
for i:=1 to n do answer:=answer*a;
大数据用(高精度乘法):
(ans为数组,ans[0]为ans的位数,ans[1]为个位,ans[2]为十位,输出要倒过来,B为STRING类型)
ans[0]:=1;
ans[1]:=1;
str(b,a);
l1:=length(b);
for i:=1 to n do
begin
fillchar(temp,sizeof(temp),0);
if ans[0]>l1 then l:=ans[0] else l:=l1;
for j:=1 to l do temp[j];=ans[j]*a;
for j:=1 to l do
begin
temp[j+1]:=temp[j+1]+temp[j] div 10;
temp[j]:=temp[j] div 10;
end;
end;
//位数的计算可另用方法
- 3楼网友:拾荒鲤
- 2021-04-06 05:38
x^y=exp(y*ln(x))=power(x,y)(有时候会出问题)
- 4楼网友:逃夭
- 2021-04-06 04:43
用对数。
a的5次就是
exp(ln(a)*5)
exp(ln(x)*y)
ln里的x是底数,y是指数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯