方法一:循环法
不断地乘以2,循环i次
int main()
{
int a, i, c =1;
//注意要初始化为1而不是0
scanf("%d", &i);
for (a = 1; a <= i; a++)
{
c = c * 2;
}
printf("%d", c);
return 0;
}
方法二:左移法
一个数它左移,左移一位的话就相当于是乘二,左移两位的话就相当于是乘四,左移三位的话就相当于是乘八,那就是相当于是。所以一位的话相当于是乘二的一次方,所以两位的话就是相当于乘二的二次方。文章来源:https://www.toymoban.com/news/detail-716683.html
#include <stdio.h>
int main()
{
int n = 0;
while (scanf("%d", &n) != EOF)
{
printf("%d\n", 1 << n);
}
return 0;
}
方法三:递归法
2^n=2*2^(n-1)=2*2*2^(n-2)……以此类推文章来源地址https://www.toymoban.com/news/detail-716683.html
int pow(int n)
{
if (n <= 0)
return 1;
else
return 2 * pow(n-1 );
}
int main()
{
int n = 1;
scanf("%d",&n);
int ret = pow(n);
printf("%d", ret);
return 0;
}
到了这里,关于[C语言】多种方法求2的n次方的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!