求s=1!+3!+5!+7!的累加和

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:55:25
用C程序解决!

n!=n*(n-1)*(n-2)······*2*1
1!=1
3!=6
5!=120
7!=5040
故s=5167

C 程序为:
#include"stdio.h"
#include"stdlib.h"
#include"math.h"
int f(int j)
{ int i,p=1;
for(i=1;i<=j;i++)
p*=i;
return
(p);
}
double sum(int x)
{ int a=1,su=0,k;
for(k=1;k<=x;k++)
{ a=f(2*k-1);
su+=a;
}
return
(su);
}

int main()
{ int s,n;
printf("请输入你要计算的位数\nn=");
scanf("%ld",&n);
s=sum(n);
printf("s=%d\n",s);
system("pause");

}

注:本程序在dev c上可正常运行 如有多余或者不精简之处 敬请指正

1!=1*1
3!=1*2*3
5!=1*2*3*4*5
7!=1*2*3*4*5*6*7

所以1!+3!+5!+7!=5167

1+2x3+2x3x4x5+2x3x4x5x6x7=1+(2x3)x<1+(4x5)x(1+6x7)>=1+6x(1+20x43)
=1+6x861=5167

5167

5166

5161用计算器