最小二乘法幂函数C语言,跪求最小二乘法幂函数C 语言程序

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

mj43976914

2014.10.25

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:44%    等级:7

已帮助:311人

最小二乘法是统计学里的东西额。。怎么又幂函数?我猜想你是要logn复杂度的乘方快速幂吧:

//a^n mod m的logn算法

//之所以取I64d,是因为两个大数相乘,在模除之前可能会爆int,当mod超过5W的时候。

__int64 multimod(__int64 x,__int64 n,__int64 mod)

{

__int64 tmp=x,res=1LL;

while(n)

{

if(n&1LL)

{

res*=tmp;

res%=mod;

}

tmp*=tmp;

tmp%=mod;

n>>=1LL;

}

return res;

}

以上是我参加ACM比赛时用的模板,__int64是一种整数数据类型,范围是int的平方大小,因为乘方一般结果很大,所以比赛时常常要求运算完成后取模。如果不需要取模的话,只要将res%=mod 和 tmp%=mod两句注释掉即可追问: 本人是菜鸟

有么有这个题的所有程序

谢谢啦

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值