C++求階乘方法你了解嗎?其實C++求階乘方法有兩種方法,但是仍有許多朋友們對此還不是非常理解的,接下來就讓武林小編為大家分享C++求階乘的方法介紹。
1.使用靜態局部變量static
靜態局部變量在函數調用結束之后不消失而保留原值,即其占用的存儲單元不釋放,在下一次該函數調用時,該變量保留上一次函數調用結束時的值。
靜態局部變量賦初值實在編譯時進行的,即只賦初值一次,在程序運行時它已有初值。
code:
?
?
#include<iostream>
using namespace std;
int fac(int n)
{
?static int f=1;
?f=f*n;
?return f;
}
int main()
{
?int i;
?for(i=1;i<=5;i++)
?{
??cout<<i<<"!="<<fac(i)<<endl;
?}
?return 0;
}
?
print:
?
?
/*
1!=1
2!=2
3!=6
4!=24
5!=120
*/
?
2.使用遞歸的方法
首先進行退出遞歸的判斷,然后進行遞歸
code:
?
?
#include<iostream>
using namespace std;
int fac(int n)
{
?if(n<0) return 0;
?if(n==0||n==1)return 1;
?if(n>1)
?{
??return n*fac(n-1);
?}
}
int main()
{
?int i;
?for(i=1;i<=5;i++)
?{
??cout<<i<<"!="<<fac(i)<<endl;
?}
?return 0;
}
?
print:
?
?
/*
1!=1
2!=2
3!=6
4!=24
5!=120
*/
這篇文章主要是C++求階乘的方法介紹,有需要的朋友可以參考一下,還想了解更多相關內容就請關注我們吧。