使用C語言遞歸計(jì)算N的k次方
一、思路求n的k次方的原理就是:
n^k = nn……*n(k個(gè)n進(jìn)行相乘)
可以得到一個(gè)公式:
f
(
k
)
=
{
1
k
=
0
n
?
f
(
k
)
k
>
0
f(k) = \left\{\begin{matrix} 1 & k = 0 & \\ n*f(k)&k>0 & \end{matrix}\right.
f(k)={1n?f(k)?k=0k>0??
根據(jù)這個(gè)公式我們就可以得到這道題遞歸的思路
當(dāng)k >0時(shí),返回n*f(k);
當(dāng)k = 0時(shí),返回1。
為了方便大家的交流和學(xué)習(xí),我將程序代碼和運(yùn)行截圖放置在了下方。
1.代碼#define _CRT_SECURE_NO_WARNINGS
//編寫一個(gè)函數(shù)實(shí)現(xiàn)n的k次方,使用遞歸實(shí)現(xiàn)。
#includeint square(int n, int k)
{if (k >0)
{return n*square(n, k - 1);
}
if (k == 0)
{return 1;
}
}
int main()
{int n = 0;
int k = 0;
printf("請輸入您所要計(jì)算的數(shù)字n及次方k(中間用一個(gè)空格隔開):>");
scanf("%d %d", &n, &k);
while (1)
{if (k< 0)
{ printf("輸入錯(cuò)誤,請重新輸入:>");
}
else
{ printf("%d", square(n, k));
break;
}
}
return 0;
}
2.運(yùn)行截圖以上就是今天要講的內(nèi)容,本文簡單的介紹了用C語言遞歸求解n^k的值的思路,還進(jìn)一步展示了代碼的運(yùn)行結(jié)果驗(yàn)證了作者的思路。
若這篇文章中有哪些不正確的內(nèi)容,請?jiān)谠u論區(qū)向作者指出(也可以私信作者),歡迎大佬們指點(diǎn),也歡迎其他正在學(xué)習(xí)C語言的萌新和作者進(jìn)行交流。
最后,如果本篇文章對你有所啟發(fā)的話,也希望可以支持支持作者。謝謝大家!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧