計算1 2 3n 1n 。設計求解該問

2021-04-02 18:29:35 字數 6900 閱讀 8716

1樓:大蔥哥哥

#include

#include

fun(int x);

int main(void)

return 0;

} int fun(int x)

2樓:匿名使用者

#include

int jiecheng(int x)

main()}

3樓:匿名使用者

用遞迴並不是很好,每次遞迴呼叫都要有一定的時間和空間的開銷,當n不大時還可以,當n大到一定程度就會出現堆疊溢位,程式崩潰。

作為練習或是演算法描述是可以的。

該問題如果不用遞迴演算法實現階乘可以做的更有效率。

遞迴演算法:

#include

using namespace std;

long int fun(int n)

int main()

cout<<"s="<

using namespace std;

int main()

cout<<"s="<

4樓:匡龍戈

#include

void main()

printf("%d!=%d, 1-%d的階乘的和為%d\n",i,num,i,sum);

num=1;

sum=0;}}

c語言題:計算公式: s=1/1!+1/2!+1/3!+...+1/n! 式中的n!表示n的階乘

5樓:匿名使用者

double sum=0;

for(int i=1;i<=n;i++)sum+=a;

} 這個要是在數學裡面還是蠻簡單的,哈哈哈

6樓:對影幽蓮

for(int i=1;i<=n;i++)

sum+=b;} - - b

7樓:精骨的文庫

#include

main()

sum+=1.0/s;

c語言程式設計題。計算1!+2!+3!+…+n!的值,n從鍵盤輸入(用函式完成階乘計算)

8樓:

#include"iostream.h"

#include"windows.h"

void main()

cout<<"結果:"<整數!\n";

system("pause");

}int a(int n)

9樓:匿名使用者

#include

using namespace std;

unsigned long long n,a[100000001],b[100000001],lb,la=1,x,x1;

int main()

while(x>0)

lb=la;

x1=0;

int k;

for(k=1;k<=lb;k++)

b[k]=x1;

}for(int i=la;i>=1;i--) cout<

return 0;}

10樓:匿名使用者

#include

int fun(int a)

return sum;

}main()

printf("結果是:%d\n",sum);}

11樓:匿名使用者

#include

double fac(int n)

int main()

12樓:匿名使用者

void main()

printf("%d!=%ld\n",n,sum);

}就是這樣,希望對你有幫住~

13樓:匿名使用者

遞迴。double main(int i)

14樓:匿名使用者

#include

int main(void)

printf("\nthe result is %d\n",sum);}}

c語言用函式求前n個數的階乘和(即求1!+2!+3!+…+)

15樓:砍侃看

#include

long jiecheng(int num)int main(void)

printf("sum is :%d\n",sum);

return 0;}

16樓:匿名使用者

可以用遞迴

抄實現bai,一下有我的公式du推導和zhi程式int jiechengsum(int n)else if(n==2)

else}

c語言程式設計求若干個連續整數的階乘之和:1!+2!+3!+....+n!,要求求每個數的階乘用函式來實現

17樓:

#include"stdio.h"

int mul(int n);

void main()

int mul(int n)

18樓:匿名使用者

&num 應該 num

printf 不用取位址,scanf才需要把變數位址告訴函式,其中的道理如果學了組合語言就很好理解。c語言來理解,就是scanf需要修改那個位址的值,所以要位址(指標),printf不修改值,用值傳遞就可以了。

另外,階乘很容易溢位的,不考慮很複雜情況,最起碼用long long型別整數

【**等】c語言程式:對n的階乘求和,n=1到10

19樓:匿名使用者

分析下程式,階乘可以用遞迴做,也可以用迴圈做,這裡就放上這兩種**了。

一.遞迴:

#include

int f(int t)

int main()

程式分析:定義乙個f函式,利用遞迴的特性,進行運算10*f(9) = 10*9*f(8) …… 直到到1時返回1得出結果:

二.迴圈:

#include

int main()

printf("%d", t1);

return 0;

}程式分析:直接用乙個for迴圈進行自減即可完成,定義t1用於儲存結果

得出結果:

20樓:匿名使用者

#include

int main()

sum+=c;//把結果累加在sum中

}printf("%d",sum);

return 0;}

21樓:時間箭頭

#include

int main()

printf("%d的階乘求和結果是%d\n",n,s);

return 0;

}在輸入介面輸入10,按enter,得結果4037913

22樓:匿名使用者

計算從1到10各數階乘

的和,即1! + 2! + 3! + …… + 9! + 10! 的和

#include

int main(void)

printf("1到10各數階乘的和 %d\n",sum);

return 0;}

23樓:

#include "stdio.h"

int main(int argv,char *argc)結果:

24樓:匿名使用者

#include

int main()

sum=sum+factorial;

} cout<<"結果是:"<

getchar; //顯示螢幕停止,不閃退getchar;

return 0;}

25樓:逐夢兮樂

#include

double fun(int n)

int main()

祝你愉快!

26樓:獨思花知

#include"stdio.h"

int main()

sum += n;

return 0;}

c語言求s=1!+2!+3!+…+n!(n由輸入決定)。求大神能詳細解讀一下這個程式,尤其是for語句裡面是什麼意思

27樓:我是果瘋

第一二行**:int i,j,n;

long int t=1,sum=0;//定義了三個整數型(短整型)的變數,定義兩個長整整型變數並初始化。

第三行**:printf("input n:",&n);//提示輸入。

第四行**:scanf("%d",&n);利用scanf()函式輸入n。

第五行**:for (i=1;i<=n;i++)//進入for迴圈,外部for迴圈的主要作用是進行階乘的求和。

第六七八行**:t=1;

for(j=1;j<=i;j++)

t=t*j;//引用t這個變數進行對i這個階乘的計算,並將結果儲存在t中。內部的for迴圈的主要作用是計算階乘。

第九行**:sun=sum+t;//計算階乘的和。

第十行代**:printf("n!=%ld",sum);//利用printf()函式對結果進行輸出。

28樓:風林火陰山雷

您好!很高興為您解答。

解釋如下:

#include

void main()

printf("n!=%ld",sum);//輸出計算結果}望採納~如您還有不解,歡迎追問~

29樓:匿名使用者

for裡面是迴圈 i=1是第一次迴圈是i的值,i<=n是i的迴圈範圍,i++是i的值每次加1

30樓:nice丨

剛學c??要看懂 for裡面的最好懂得方法是你代幾個數一步一步試試 然後你應該會明白吧

用c語言編寫程式,求1到10的階乘之和:s=1!+2!+3!+4!+5!+6!+7!+8!+9!+10!

31樓:凌亂心扉

#include

#include

int main()

sum=sum+mul;

}printf("%d",sum);

system("pause");

return 0;}

32樓:匿名使用者

#include

int main()

return 0;}

33樓:

宣告乙個和記錄變

量s,宣告乙個階乘記錄變數t,再宣告乙個計數變數n。用乙個for迴圈,計數變數n從1開始步長為1增值至10為止;t初值設定為1,始終記錄它與n的當前值的乘積,就得到了n的當前值的階乘n!;s初值置0,累加每個n當前值時的階乘t,就完成了題設要求。

**如下:

#include "stdio.h"

int main(int argc,char *argv)執行結果如下:

34樓:匿名使用者

這個回答若到c語言環境執行,那就是乙個錯誤的程式,整數的範圍到9!階乘就已經超界,發生溢位錯誤。所以這類題,若是考題,考點就是型別的範圍。

換句話說,選中的答案是錯誤的,而其他三個都是正確的。下面是我的答案

35樓:匿名使用者

★172666706">int fun(int n) /*求n的階乘*/

1.do while 語句

int sum = 0;

int i = 1;

do while(i <= 10) 2.while語句int sum = 0;

int i = 1;

while(i <= 10)

36樓:匿名使用者

#include

main()}

37樓:匿名使用者

38樓:匿名使用者

#include"stdio。

h" /頭檔名/int sum(int n) /定義形參,形參部分/ return sum1;}void main()。

39樓:匿名使用者

#include

int main()

printf("s = %d\n",s);

reuturn 0;}

40樓:哦哦哦

#include

#include

int main(int argc, char *argv);int i,j,temp,n;

for(i=1;i<11;i++)

}}for(i=1;i<11;i++)

printf("answer:%d",s[0]);

system("pause");

return 0;}

判斷級數n12n1n2的斂散性。求解,急

首先來看看bai用比較判別法判斷級du數發散的zhi方法,對於u和v兩個正項級dao數來說,如果n從某內一項開始都有容u v,且級數u是發散的,那麼v也是發散的。我們尋找乙個級數,1 4n 顯然對於n 1及以後的項 也即n 1,2,3.來說,都有1 4n 1 2n 1 而且我們知道,1 4n 1 4...

利用for迴圈巢狀編寫程式,計算123n

在win tc環境中,你所問的演算法編譯內容如下 include stdio.h include conio.h long cheng int n return m main printf the result ld sum getch 我剛給你寫的,付編譯圖一張。有圖有真相,我輸入的n是10,結果...

編寫程式,計算1 2 3n 的值,其

intk,l,n只是定來義三個變數,後面都要用自的。fact k 1表示階乘從1開始,就是一開始的 1!for k 1 k n k 表示每一項,比如說k 3,就表示第三項,以你題目的要求就是 3!for l 1 l k l 是用來計算階乘的,是巢狀在上乙個迴圈裡的,還是以上面那個例子,k 3時,這個...