首页 新闻 搜索 专区 学院

一个基本的算法问题

0
悬赏园豆:5 [待解决问题]
1 result = 1;
2 for(int i = 1; i <=n; i++)
3     result *= a;

如果改进算法为

result = a;
for(int i = 1; i <=k; i++)
result = result * result;

请问如何推导出n与k之间需要满足的关系?

注:该方法为计算a^n的结果。

Brianlicorice的主页 Brianlicorice | 初学一级 | 园豆:198
提问于:2013-02-20 18:11
< >
分享
所有回答(4)
0

上面那个a哪儿来的?

顾晓北 | 园豆:10819 (专家六级) | 2013-02-20 18:19

a就是一个数,就是计算a^n for integer n.

支持(0) 反对(0) Brianlicorice | 园豆:198 (初学一级) | 2013-02-20 18:23
0

没分了,学习了

Invictus | 园豆:76 (初学一级) | 2013-02-20 20:00

什么是“没分了”?

支持(0) 反对(0) Brianlicorice | 园豆:198 (初学一级) | 2013-02-20 20:11
1

n=2^k

碧落星痕 | 园豆:708 (小虾三级) | 2013-02-20 23:03

k=log(n)?

显然不对

支持(0) 反对(0) 努力变瘦 | 园豆:243 (菜鸟二级) | 2013-12-02 11:04
0

这样改进会不会错了?

搜搜快速幂

这和n的二进制表示有关,循环要加上判断

努力变瘦 | 园豆:243 (菜鸟二级) | 2013-12-02 11:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册