次方的快速算法?

 我来答
星闻密探
高粉答主

2019-07-31 · 醉心答题,欢迎关注
知道答主
回答量:193
采纳率:93%
帮助的人:5.8万
展开全部

次方有两种快速算法:

第一种是直接用乘法计算,例:3⁴=3×3×3×3=81。

第二种则是用次方阶级下的数相乘,例:3⁴=9×9=81

次方最基本的定义是:设a为某数,n为正整数,a的n次方表示为aⁿ,表示n个a连乘所得之结果,如2⁴=2×2×2×2=16。次方的定义还可以扩展到0次方和负数次方等等。

负数次方

由5的0次方继续除以5就可以得出5的负数次方。

例如: 5的0次方是1 (任何非零数的0次方都等于1。)

5的-1次方是0.2 1÷ 5 =0.2

5的-2次方是0.04 0.2÷5 =0.04

因为5的-1次方是0.2 ,所以5的-2次方也可以表示为0.2×0.2=0.04

5的-3次方则是0.2×0.2×0.2=0.008

由此可见,一个非零数的-n次方=这个数的倒数的n次方。

扩展资料:

0的次方

0的任何正数次方都是0,例:0⁵=0×0×0×0×0=0

0的0次方无意义。

一个数的0次方

任何非零数的0次方都等于1。原因如下:

通常代表3次方

5的3次方是125,即5×5×5=125

5的2次方是25,即5×5=25

5的1次方是5,即5×1=5

由此可见,n≧0时,将5的(n+1)次方变为5的n次方需除以一个5,所以可定义5的0次方为:

5 ÷ 5 = 1。

富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
销43
推荐于2018-04-10 · TA获得超过6887个赞
知道小有建树答主
回答量:484
采纳率:80%
帮助的人:51.4万
展开全部
整数次方可以用快速幂算法
譬如计算x^y,可以先算出x^(y/2)
然后再自乘一次,如果y是奇数,那就再额外乘一次y
对于x^(y/2),我们仍用上述方法递归计算,可以得到logy复杂度的算法
以下是循环写法,效率比递归写法略高一些
int pow(int x,int y)
{
int ans=1;
while(y)
{
if(y)ans*=x;
x*=x;
y>>=1;
}
return ans;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-16
展开全部
2^50=2^10 * 2^10 * 2^10 * 2^10 * 2^10
2^55=2^10 * 2^10 * 2^10 * 2^10 * 2^10 * 2^5
2^10=1024
因为1024比较好列竖式
乘起来比较方便
个人见解,仅供参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
学术少女奋斗奋斗
2018-04-10 · 专注学术一百年不动摇
学术少女奋斗奋斗
采纳数:37 获赞数:123

向TA提问 私信TA
展开全部
最好的办法是把基础的次方给背下来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-04-10
展开全部
int power(int x,int n)
{
int m=0;
m=n;
int t=1;
while(m>0)
{
m/=2;
t*=2;
}
m=n;
int y=1;
while(t>1)
{
t/=2;
y*=y;

if (m>=t)
{
y*=x;
m-=t;
}
}
return y;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式