當前位置:首頁 » 編程語言 » 1到20階乘的和c語言

1到20階乘的和c語言

發布時間: 2022-06-04 15:59:12

① 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階乘的和c語言擴展閱讀

使用其他方法實現求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);

}

}

② C語言求1-20的階乘之和

/*

sum = 2561327494111820313

Press any key to continue

*/

#include<stdio.h>

intmain(){
__int64fact=1,i,sum=0;
for(i=1;i<21;++i) {
fact*=i;
sum+=fact;
}
printf("sum=%I64d ",sum);
return0;
}

③ C語言,算1到20階乘的和

s*=i相當於s=s*i,假如某一次循環中i=k(k代表某個自然數),s=S那麼執行完s*=i後s=S*k;下一次循環時i=k+1,執行完s*=i後s=S*k*(k+1)。而初始情況是i=1,s=1,根據數學歸納法可以推導出s中保存的值是1*2*...*(k+1)。

④ 求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);

}

(4)1到20階乘的和c語言擴展閱讀:

用遞歸方法

#include<stdio.h>

int func(intn){

int m=0;

if(n==1){

return1;

m=n*func(n-1);

returnm;

int main(intargc,constchar*argv[]){

int sum=0;

for(inti=1;i<=20;i++)

sum=sum+func(i);

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

return0;

⑤ 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;
}

⑥ 用c語言寫1的階乘到20階乘的和,怎麼寫

#include<stdio.h>
void
main()
{
int
i;
double
t=1,sum=0;
//由於20的階乘int和long
int都放不下.所以用double.
for(i=1;i<=20;i++)
//從1循環到20.
{
t
=
t
*
i;
//計算1~20的階乘.
sum
=
sum
+
t;
//將1~20的階乘累加到sum中.
}
printf("%.0f\n",sum);
//輸出sum.
}

⑦ 1到20的階乘 C語言

用遞歸就行了,問題是階乘1到20已經溢出了unsigned
long
int的最大數值,1到16就已經溢出了,何況你的還是有符號的,比無符號的少差不多一半.
這個用遞歸實現的.
#include<stdio.h>
void
main()
{
int
fac(int
x);
unsigned
long
int
y;
int
x;
printf("請輸入一個整數:");
scanf("%d",&x);
y=fac(x);
printf("%ld\n",y);
}
int
fac(int
x)
{
unsigned
long
int
y;
if(x==1)
{
y=1;
}
else
y=fac(x-1)*x;
return
y;
}

⑧ 用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;
}

⑨ 求1到20的階乘和,用c語言編程

#include <stdio.h>
main()
{
double res=1.0;
int i;
for(i=1;i<=20;i++){
res*=i;
}
printf("result=%lf",res);
}

⑩ 用c語言編程,求從1的階乘一直加到20的階乘。

1、首先打開C語言編輯器,新建一個c語言的文件,導入頭文件並設置一個主函數:

熱點內容
毛發模擬演算法 發布:2025-02-09 06:24:27 瀏覽:273
芝麻雲伺服器分布圖 發布:2025-02-09 06:12:53 瀏覽:429
oracle同義詞存儲過程 發布:2025-02-09 06:00:59 瀏覽:156
quartz資料庫配置 發布:2025-02-09 05:58:07 瀏覽:114
彎矩圖編程 發布:2025-02-09 05:58:06 瀏覽:186
多個ip段怎麼配置網關 發布:2025-02-09 05:57:23 瀏覽:414
體檢中心的無線網密碼多少 發布:2025-02-09 05:40:15 瀏覽:516
腳本語言是編譯還是解釋 發布:2025-02-09 05:30:24 瀏覽:644
天墓密碼結局是什麼 發布:2025-02-09 05:25:52 瀏覽:438
如何找回網際網路帳號的密碼 發布:2025-02-09 05:20:05 瀏覽:374