C语言求2的n次方多种方法总结
目录
- 方法一:循环法
- 方法二:左移法
- 方法三:递归法
- 总结
方法一:循环法
不断地乘以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;
}
方法二:左移法
一个数它左移,左移一位的话就相当于是乘二,左移两编程客栈位的话就相当于是乘四,左移三位的话就相当于是乘八,那就是相当于是。所以一位python的话相当于是乘二的一次方,所以两位的话就是相当于乘二的二次方。
#include <stdio.h>
int main()http://www.devze.com
{
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)……以此类推
int pow(int n)
{
if (n <= 0)
return 1;
else
return 2 * pow(n-1 );
}
int http://www.devze.commain()
{
int n = 1;
scanf("%d",&n);
int ret = pow(n);
printf("%d", ret);
return 0;
}
总结
到此这篇关于C语言求2的n次方多种方法总结的文章就介绍到这了,更多相关C语言求2的n次方内容请搜索编程客栈(www.devze.com)以前的php文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
加载中,请稍侯......
精彩评论