A. 1到20階乘的和用c語言表達
#include <stdio.h>
long jiecheng(int x)
{
long int i,k=1;
for(i=1;i<=x;i++)
k=k*i;
return k;
}
int main()
{
long int j,k=0;
int i;
for(i=1;i<=20;i++)
{
j=jiecheng(i);
k+=j;
}
printf("%ld
",k);
}

(1)階乘和的演算法擴展閱讀:
使用其他方法實現求1到20階乘的和:
public class Main{
public static void main(String[] args){
int i,j;
int sum=0;
int a=1;
for(i=1;i<=20;i++){
for(j=1;j<=i;j++){
a*=j;
}
sum+=a;
}
System.out.print("sum=1!+2!+3!+...+20!="+sum);
}
}
B. 求階乘的和,誰能幫我分析一下代碼的意思,和所用的演算法!急急急!求大神!!
這個演算法的思想就是,每次找最接近n的階乘,作差,看差是否能表示成階乘的和.容易看出這是一個遞歸過程.
不過為什麼要找最近n的階乘,這個不太顯然.但是分析一下,m!是比m之前所有階乘加起來都要大的.所以如果n-(m-1)!是階乘的和,必須使用到m!,否則不夠大.
想明白這點,其他都很容易了.
C. 階乘的公式是什麼
公式:n!=n*(n-1)!
階乘的計算方法
階乘指從1乘以2乘以3乘以4一直乘到所要求的數。
例如所要求的數是4,則階乘式是1×2×3×4,得到的積是24,24就是4的階乘。 例如所要求的數是6,則階乘式是1×2×3×..×6,得到的積是720,720就是6的階乘。例如所要求的數是n,則階乘式是1×2×3×…×n,設得到的積是x,x就是n的階乘。
階乘的表示方法
在表達階乘時,就使用「!」來表示。如x的階乘,就表示為x!
他的原理就是反推,如,舉例,求10的階乘=10*9的階乘(以後用!表示階乘)那麼9!=?,9!=9*8!,8!=8*7!,7!=7*6!,6!=6*5!,5!=5*4!,4!=4*3!,
3!=3*2!,2!=2*1!,1的階乘是多少呢?是1 1!=1*1,數學家規定,0!=1,所以0!=1!然後在往前推算,公式為n!(n!為當前數所求的階乘)=n(當前數)*(n-1)!(比他少一的一個數N-1的階乘把公式列出來像後推,只有1的!為1,所以要從1開始,要知道3!要知道2!就要知道1!但必須從1!開始推算所以要像後推,如果遍程序演算法可以此公式用一個函數解決,並且嵌套調用次函數,,)把數帶入公式為, 1!=1*1 2!=2*1(1!) 3!=3*2(2!) 4=4*6(3!),如果要是編程,怎麼解決公式問題呢
首先定義演算法
//演算法,1,定義函數,求階乘,定義函數fun,參數值n,(#include <stdio.h>
long fun(int n ) //long 為長整型,因20!就很大了超過了兆億
(數學家定義數學家定義,0!=1,所以0!=1!,0與1的階乘沒有實際意義)
2,函數體判斷,如果這個數大於1,則執行if(n>1)(往回退算,這個數是10求它!,要從2的階乘值開始,所以執行公式的次數定義為9,特別需要注意的是此處,當前第一次寫入代碼執行,已經算一次)
求這個數的n階乘(公式為,n!=n*(n-1)!,並且反回一個值,
return (n*(fun(n-1));(這個公式為,首先這個公式求的是10的階乘,但是求10的階乘就需要,9的階乘,9的階乘我們不知道,所以就把10減1,也就是n-1做為一個新的階乘,從新調用fun函數,求它的階乘然後在把這個值返回到 fun(n-1),然後執行n*它返回的值,其實這個公式就是調用fun函數的結果,函數值為return 返回的值,(n-1)為參數依次類推,...一值嵌套調用fun函數,
到把n-1的值=1,
注意:此時已經運行9次fun()函數算第一次運行,,調用幾次fun函數呢?8次函數,所以,n-1執行了9次,n-1=1 ,n=2已經調用就可以求2乘階值
D. 用c語言怎麼寫1到5的階乘的和
代碼如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"stdlib.h"
int main()
{
int n = 0;
printf("請輸入一個數字: ");
scanf("%d",&n);
int i = 0;
int ret = 1;
int sum = 0;
for (i = 1; i <= n; i++)
{
ret *= i;
sum += ret;
}
printf("%d
",sum);
system("pause");
return 0;
}

(4)階乘和的演算法擴展閱讀
階乘計算功能關鍵演算法
利用遞歸方法求5!
用遞歸方式求出階乘的值。遞歸的方式為:
5!=4!*5
4!=3!*4
3!=2!*3
2!=1!*2
1!=1
即要求出5!,先求出4!;要求出4!,先求出3! … 以此類推。
注意:定義一個函數(或方法),用於求階乘的值。
在主函數(或主方法)中調用該遞歸函數(或方法),求出5的階乘,並輸出結果。
packageThird;
publicclassone {
publicstaticvoidmain(String args[]){
intn =5;//輸入n的值
//n的階乘的值為:factorial(n);
System.out.println("5的階乘是:"+ factorial(n));
}
publicstaticintfactorial(intn){//階乘求解函數
if(n ==0){//判斷傳進來的n是否為0,若為零返回階乘為1
return1;
}
returnn*factorial(n-1);//重新調用函數,繼續判斷n-1是否為零,
}
}
E. 用C語言求1~20的階乘之和!
/**
**程序描述:求求1~20的階乘之和。
**演算法思路:先求出每一項的階乘值,然後將所有項的階乘值相加。
*/
#include<stdio.h>
#defineN20
typedefunsignedlonglonguInt64;//自定義類型
//求出每一項階乘值的函數
uInt64fact(intn)
{
inti;
uInt64s;
for(i=s=1;i<=n;i++)
s*=i;//從1開始循環累加相乘
returns;
}
intmain()
{
uInt64s;
inti;
for(i=1,s=0;i<=N;i++)
s+=fact(i);//從第1項開始循環累加每一項的階乘值
printf("1!+2!+3!+……+20!=%llu
",s);
return0;
}

F. 階乘的公式是什麼
n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。

資料來源:階乘_網路
G. 階乘怎麼算
5的階乘就是5×4×3×2×1。
階乘(一個數n的階乘寫成n!)的演算法:
n!=1×2×3×...×(n-1)×n。
定義:0!=1,n!=(n-1)!×n
(7)階乘和的演算法擴展閱讀:
真正嚴謹的階乘定義應該為:對於數n,所有絕對值小於或等於n的同餘數之積。稱之為n的階乘,即n!
對於復數應該是指所有模n小於或等於│n│的同餘數之積。。。對於任意實數n的規范表達式為:
正數 n=m+x,m為其正數部,x為其小數部
負數n=-m-x,-m為其正數部,-x為其小數部
對於純復數
n=(m+x)i,或n=-(m+x)i
H. 階乘的求和公式是多少
階乘的求和公式是:1!+2!+3!+……+N!
1、階乘定義:n!=n*(n-1)*(n-2)*……*1
2、計算方法:
正整數階乘指從 1 乘以 2 乘以 3 乘以 4 一直乘到所要求的數。
例如所要求的數是 4,則階乘式是 1×2×3×4,得到的積是 24,24 就是 4 的階乘。 例如所要求的數是 6,則階乘式是 1×2×3×……×6,得到的積是 720,720 就是 6 的階乘。例如所要求的數是 n,則階乘式是 1×2×3×……×n,設得到的積是 x,x 就是 n 的階乘
表示方法:任何大於 1 的自然數n 階乘表示方法:或
I. 求階乘和
先不看你求階乘對不對,你的主函數調用就有問題,
float f(float s1,float s2);//調用的時候參數不用再加float,返回類型float也不用加
語句順序也錯了,而且求階乘和求和兩個功能完全可以寫在一個函數里,這樣導致你float f(float s1,float s2); 參數不知道是哪個.
----------------------------------------------
嵌套調用:求兩個數的階乘的和,要
編寫三個函數:求和函數,求階乘函數,主函
數。
void main()
{
int m,n;
printf("請輸入m和n:");
scanf("%d,%d",&m,&n);
printf("這兩個數的階乘的和為:");
z(m,n);
}
void z(int m,int n)
{
//求整數m的n階乘和,嵌套調用求和函數f
int i,j;
float s1,s2,s=0;
for(i=1,s1=1;i<m;i++)
s1= (i+1)*s1;//得到m的階乘m!
for(j=1,s2=1;j<n;j++)
s2= (j+1)*s2;//得到n的階乘n!
s = f(s1,s2);
printf("%f",s);
}
float f(float s1,float s2)
{
float s;
s=s1+s2;
return s;
}
J. 階乘的計算方法
n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。

資料來源:階乘_網路