C++求階乘的兩種方法
更新時間:2013年12月08日 17:03:48 作者:
這篇文章主要介紹了C++求階乘的兩種方法,有需要的朋友可以參考一下
1.使用靜態(tài)局部變量static
靜態(tài)局部變量在函數(shù)調用結束之后不消失而保留原值,即其占用的存儲單元不釋放,在下一次該函數(shù)調用時,該變量保留上一次函數(shù)調用結束時的值。
靜態(tài)局部變量賦初值實在編譯時進行的,即只賦初值一次,在程序運行時它已有初值。
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++ STL priority_queue自定義排序實現(xiàn)方法詳解
這篇文章主要介紹了C++ STL priority_queue自定義排序實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03C語言使用ffmpeg實現(xiàn)單線程異步的視頻播放器
這篇文章主要為大家詳細介紹了C語言如何使用ffmpeg實現(xiàn)單線程異步的視頻播放器功能,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下2022-12-12