C語言求2的n次方多種方法總結(jié)
方法一:循環(huán)法
不斷地乘以2,循環(huán)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;
}
方法二:左移法
一個數(shù)它左移,左移一位的話就相當(dāng)于是乘二,左移兩位的話就相當(dāng)于是乘四,左移三位的話就相當(dāng)于是乘八,那就是相當(dāng)于是。所以一位的話相當(dāng)于是乘二的一次方,所以兩位的話就是相當(dāng)于乘二的二次方。
#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)……以此類推
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;
}總結(jié)
到此這篇關(guān)于C語言求2的n次方多種方法總結(jié)的文章就介紹到這了,更多相關(guān)C語言求2的n次方內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++?TCP網(wǎng)絡(luò)編程詳細(xì)講解
TCP/IP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,它會保證數(shù)據(jù)不丟包、不亂序。TCP全名是Transmission?Control?Protocol,它是位于網(wǎng)絡(luò)OSI模型中的第四層2022-09-09
Qt進(jìn)程和線程QProcess和QThread的使用
本文主要介紹了Qt進(jìn)程和線程QProcess和QThread的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
C++多態(tài)特性之派生與虛函數(shù)與模板詳細(xì)介紹
這篇文章主要介紹了C++多態(tài)的特性派生與虛函數(shù)與模板,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09
詳解C++中的成員訪問運(yùn)算符和指針到成員運(yùn)算符
這篇文章主要介紹了C++中的成員訪問運(yùn)算符和指針到成員運(yùn)算符,即. 和 ->以及.* 和 ->*的使用方法,需要的朋友可以參考下2016-01-01
C++獲取類的成員函數(shù)的函數(shù)指針詳解及實(shí)例代碼
這篇文章主要介紹了C++獲取類的成員函數(shù)的函數(shù)指針詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02

