永发信息网

pascal 快速幂 怎么写?2^k

答案:4  悬赏:40  手机版
解决时间 2021-05-06 12:14

k是很大的数。

时间是1S。

肯定要用快速幂, 不懂写。

大牛指教。

最佳答案

function g(x:longint):longint;


var now:longint;


begin


if x=0 then exit(1);


now:=g(x shr 1);


g:=now*now;


if x and 1=1 then


g:=g*2;


end;



这是快速幂的模板,如果是高精度的话把g函数弄成数组就好了。


其思想就是二分的思想。比如2^5=2*((2^2)^2)这样一直分解下去。

全部回答

function modular(a,b,u:longint):longint; //a 的 b次番 mod n

var d,i,j,k:longint;

begin

d:=1;

for i:=trunc(ln(b)/ln(2))+1 downto 1 do //求 b转化成2进制 的位数

begin

d:=d*d mod n;

if b or (1 shl(i-1))=b then //位运算 判断 第i位 是否为1

d:=d*a mod n;

modular:=d;

end;

呃··这一串程序 不知道为什么 b=0的时候 要特判一下··

就酱紫啦 ··具体思想 可以参考 别的参考书~~我觉得似乎都有的说··

1 shl k; 就行了

2的K次幂是要运算1在第K为的二进制值

k的范围是什么?如果比较小可以用高精度乘以低精度的乘法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请教各位大师,喷漆后的产品可以做磁粉探伤吗
银贸商行在哪里啊,我有事要去这个地方
孩子爱看动画片怎么办?
诚征纯净水广告宣传词语
谁有英语四级的听力…mp3格式的…1547692482@
手机看直播费多少流量,用手机看电影一分钟能
SOS!!!!诺基亚N82主相机不出来了, 求高手指教
你对结婚没房你会嫁么?
请问如何制作卤水,用来煲鸭头鸭脚鸭翅的
温州商贸城地址在什么地方,想过去办事
有谁知道中小型网游都有啥
跪求Sadness and Sorrow的钢琴曲谱
眼晴视网出现飞蚊黑影是怎么回事
关机内存不能写?
汉中日报订报电话
推荐资讯
怎么办,天气好冷,
我在回答问题时不小心写了我的真实资料了。能
东江酱板鸭在哪里啊,我有事要去这个地方
一般纳税人网站
丝路英雄怎么创建殖民城???
谁能给个腾讯微博开通邀请码我!感激涕零啊(4
关于暗夜55级活动
鬼泣4的操作方法
QQ邮箱怎样取消拒收邮件
中国中元国际工程有限公司青海分公司地址在什
一个人伤心的时候怎么办
阿拉腾朝克苏木地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?