代碼文本:
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計制作、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)魏縣,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
#include "stdio.h"
double fun(int f,int n){
if(f100000000)
return 1.0/f+fun(f*(n+1),n+1);
return 1.0;
}
int main(int argc,char *argv[]){
printf("e≈%f\n",fun(1,1));
return 0;
}
c函數(shù)是一個獨立的程序段,它執(zhí)行具體的、明確的任務(wù)
特點:
一個函數(shù)只能返回一個值
一個程序可以有一個或多個函數(shù)
函數(shù)可以嵌套調(diào)用,但不能在一個函數(shù)中定義另一個函數(shù)
無論函數(shù)是否有參數(shù),一定要有括號
函數(shù)在定義或使用前應(yīng)在main() 函數(shù)中進(jìn)行聲明
遞推指的是一個函數(shù)中一個量的值要有其他的幾個變量或函數(shù)得到,比如 function()是一個函數(shù),在另一個函數(shù)里面要用到它時,如下 int add() {int a; a=function() }這就是遞推。而遞歸指的是同一個函數(shù)的反復(fù)調(diào)用。比如去求一個數(shù)n的階乘時int jiec(n) {int n; int m; m=n*jiec(n-1); return jiec(n-1); }
用c語言程序,求e,用遞歸函數(shù),最易于實現(xiàn)的計算方法應(yīng)該是使用e的極限近似計算,以下以n=1000近似計算之:
n=1000時的近似結(jié)果
#includestdio.h
#define n 1000
void calc_e(e)
double *e;
{
if(e[0]*=1.0+1.0/e[1],--e[2]=0)
return;
else calc_e(e);
}
int main(void){
double box[3]={1.0,n,n};
calc_e(box);
printf("%lf\n",box[0]);
return 0;
}
n=10000時的近似結(jié)果
#includestdio.h
#includestdlib.h
double e(int n,double x,int cheng)
{
double t;
cheng*=n;
t=1.0/(double)cheng;
if(t0.000001)
{
return e(n+1,t+x,cheng);
}
return x;
}
int main()
{
printf("%lf",e(1,1.0,1));
system("pause");
return 0;
}
我給你介紹一個公式吧:(泰勒工式展開式)
e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + ...+ 1/n!
其中,n!表示n的階乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以專門設(shè)計一個子函數(shù)求 n! ;(n越大,精確度越高)
下面是代碼:
//網(wǎng)頁上直接寫的,在VC++6.0運(yùn)行時如果編譯出錯,那就改一下分
//號和逗號
#includestdio.h
#define N 20
int jiecheng(int n)
{
int i=n;
int result=1;
while(i)//
{
result*=i;
i--;
}
return result;
}
void main()
{
int i;
double e=2;
for(i=2;iN;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
網(wǎng)站題目:c語言遞推函數(shù)e c語言遞推與遞歸
文章轉(zhuǎn)載:http://m.newbst.com/article30/hjjpso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、、軟件開發(fā)、網(wǎng)站設(shè)計公司、標(biāo)簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)