c 算法 - 问题

标签 c algorithm

<分区>

我应该使用什么样的算法来计算 2^n 。 .其中 n 始终大于 100 。 .使用 c 推荐一个好的算法 :)

最佳答案

要计算具有 log(n) 复杂度的 2^n,您可以执行以下操作(假设类型可以存储我们得到的结果):

type result = 1;
type temp = 2;

while (n){
   if (n%2)
     result *= temp;
   temp *= temp;
   n/=2;
}

关于c 算法 - 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493023/

相关文章:

java - Linux,JNA : UnsatisfiedLinkError on liblo second method call

c++ - 使用 glFrustum 进行离轴投影

java - 需要帮助在许多一个字母的不同单词对之间创建单词阶梯(java)

c++ - 在递归下降解析器的递归算法中避免计算器溢出

algorithm - 三栈队列如何实现?

algorithm - 找到最接近给定自然数,满足非线性条件

c - LPCXpresso错误CreateProcess:没有这样的文件或目录

c - 替换字符串中的单词

java - 使用 C 结构的自定义创建器和删除器

c - memccpy 返回比 src 起始地址更低的内存地址