當前位置:首頁 » 編程軟體 » 編程階層求和

編程階層求和

發布時間: 2022-06-05 03:43:03

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

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

Ⅱ C語言程序 一個階乘求和 程序

參考下把,是C++的,高精度的,把它轉換為C語言的即可
#include
<iostream>
#include
<string>
using
namespace
std;
template<int
N>
struct
BigNum
{
int
d[N];
int
len;
BigNum()
{
len
=
0;
}
BigNum(const
char
*);
BigNum<N>
&
operator=(int
);
BigNum<N>
&
operator=(BigNum<N>
&
);
BigNum<N>
&
operator
*=(int);
BigNum<N>
&
operator
+=(int);
BigNum<N>
&
operator
+=(BigNum<N>
&
);
BigNum<N>
&
operator
/=(int);
int
cmp(BigNum<N>
&);
template<int
O>
friend
ostream&
operator
<<
(ostream&
,BigNum<O>&);
};
template<int
N>
BigNum<N>::BigNum(const
char
*s){
len
=
strlen(s);
int
t
=
len;
while(t){
d[len
-t]
=
s[t-1]
-'0';
t
--;
}
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator=(int
n){
len
=
0;
do
{
d[len++]
=
n%10;
n
/=
10;
}
while(n>0);
return
*this;
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator=(BigNum<N>
&
rhs){
len
=
rhs.len;
for(int
i=0;i<len;i++){
d[i]
=
rhs.d[i];
}
return
*this;
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator
*=(int
m){
int
carry
=
0;
int
i;
for(i=0;i<len;i++){
carry
+=
d[i]
*
m;
d[i]
=
carry
%
10;
carry
/=
10;
}
while(carry){
d[len++]
=
carry
%
10;
carry
/=
10;
}
return
*this;
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator
+=(int
m){
int
carry
=
0;
int
i;
carry
=
d[0]
+
m;
d[0]
=
carry%10;
carry
/=
10;
for(
i
=
1;
i
<
len
&&
carry;
i++)
{
d[i]
+=
carry%10;
carry
/=
10;
}
while(carry){
d[len++]
=
carry
%
10;
carry
/=
10;
}
return
*this;
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator
+=(BigNum<N>
&
rhs){
int
i,
j,
carry
=
0;
for(
i
=
0,
j
=
0;
i
<
len
&&
j
<
rhs.len;
i
++,
j++)
{
d[i]
+=
rhs.d[i]
+
carry;
carry
=
d[i]/10;
d[i]
%=
10;
}
if(i
<
len)
{
if(carry)
{
for(;
i
<
len&&carry;
i
++){
d[i]
+=
carry;
carry
=
d[i]/10;
d[i]
%=
10;
}
}
if(carry)
d[i]
=
carry,
len
++;
}
else
if(j
<
rhs.len)
{
for(
;
j
<
rhs.len;
j
++){
d[j]
=
rhs.d[j]
+
carry;
carry
=
d[j]/10;
d[j]
%=
10;
}
if(carry)
d[j]
=
carry,
len
=
rhs.len
+1;
else
len
=
rhs.len;
}
else
{
if(carry)
d[i]
=
carry,
len++;
}
return
*this;
}
template<int
N>
BigNum<N>
&
BigNum<N>::operator
/=(int
dm){
int
carry
=
0;
int
i;
for(i=len-1;i>=0;i--){
carry
*=
10;
carry
+=
d[i];
d[i]
=
carry
/
dm;
carry
=
carry
%
dm;
}
while(d[--len]
==0){
;
}
len
++;
return
*this;
}
template<int
N>
int
BigNum<N>::cmp(BigNum<N>
&rhs){
if(len
!=
rhs.len)
return
len
-
rhs.len;
for(int
i=
len-1;i>=0;i--){
if(d[i]
!=
rhs.d[i])
return
d[i]
-
rhs.d[i];
}
return
0;
}
template<int
N>
ostream&
operator
<<
(ostream&
o,
BigNum<N>&
rhs){
for(int
i=rhs.len-1;i>=0;i--){
o
<<
rhs.d[i];
}
return
o;
}
int
main
()
{
int
i,
j,
n;
BigNum
<300>
sum,
temp;
while(
cin
>>
n)
{
for(
i
=
1;
i
<=
n;
i
++)
{
temp
=
1;
for(
j
=
1;
j
<=
i;
j
++)
temp
*=
j;
sum
+=
temp;
}
for(
i
=
sum.len-1;
i
>=
0;
i
--)
cout
<<
sum.d[i];
cout
<<
endl;
}
return
1;
}

java里1到10的階乘相加編程怎麼做

java里1到10的階乘相加編程方法如下:

public class Factorial{ //類

public static void main(String [] args){ //主方法

int a=1; //定義一個變數a

int sum=0; //定義一個變數sum,把和存放在sum里

for(int i=1;i<11;i++){ //做1-11循環

a=1; //每次a都從1開始

for(int j=1;j<=i;j++){ //求每個數的階乘

a=a*j;

}

sum=a+sum; //每個數的階乘求好後都加入sum

}

System.out.println(sum); //輸出和sum

}

}

Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。

Ⅳ 階乘的求和公式是多少

計算方法:

正整數階乘指從 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 階乘表示方法:

以下列出 0 至 20 的階乘:

0!=1,(0 的階乘是存在的,且定為1)

1!=1,

2!=2,

3!=6,

4!=24,

5!=120,

6!=720,

7!=5040,

8!=40320

9!=362880

10!=3628800

11!=39916800

12!=479001600

13!=6227020800

14!=87178291200

15!=1307674368000

16!=20922789888000

17!=355687428096000

18!=6402373705728000

19!=121645100408832000

20!=2432902008176640000

Ⅳ c語言求1到n的階乘的和


#include<stdio.h>
intjc(intn)
{
intj=1,i,num=0;
for(i=1;i<=n;)
{
j*=i;
num+=j;
i++;
}
returnnum;
}
intmain()
{
intn;
printf("請輸入n的值 ");
scanf("%d",&n);
n=jc(n);
printf("1到n的階乘的和為%d ",n);
return0;
}

Ⅵ C語言怎麼求n階乘的和

1
思路
關鍵是寫出求階乘的函數
2
代碼
#include<stdio.h>
//求階乘
intfactorial(intn){
if(n==0||n==1)
return1;
else
returnn*factorial(n-1);
}
intmain(){
intn;
printf("求1!+2!+...+n!的結果 輸入n的值:");
scanf("%d",&n);
intsum=0;
for(inti=1;i<=n;i++){
sum+=factorial(i);
}
printf("結果為:%d ",sum);
getchar();
getchar();
return0;
}
3
運行效果

Ⅶ 【在線等】c語言程序:對n的階乘求和,n=1到10

熱點內容
無限分類實現php 發布:2025-05-20 06:57:40 瀏覽:679
數據結構c語言版嚴蔚敏李冬梅 發布:2025-05-20 06:55:05 瀏覽:447
iphone快捷訪問 發布:2025-05-20 06:55:05 瀏覽:927
如何加密硬碟分區 發布:2025-05-20 06:52:29 瀏覽:362
反編譯gd 發布:2025-05-20 06:52:23 瀏覽:837
java源碼知乎 發布:2025-05-20 06:47:59 瀏覽:482
dos解壓縮命令 發布:2025-05-20 06:47:57 瀏覽:638
安卓傳數據給蘋果的軟體叫什麼 發布:2025-05-20 06:42:48 瀏覽:803
怎麼樣盤解壓力 發布:2025-05-20 06:37:08 瀏覽:84
apk編譯反編譯工具 發布:2025-05-20 06:35:44 瀏覽:285