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)!
精彩评论