发布网友 发布时间:2024-04-29 21:21
共1个回答
热心网友 时间:2024-04-30 09:08
这道题是求从3-21,差为3的8个数阶乘的和,编写一个求阶乘之和的函数sum(),使用for循环进行阶乘的计算,最终和太大,因此使用科学计数方式表示输出。
程序代码:
#include<stdio.h>
float sum(int n)
{int i,j;
float t,s=0;
for(i=3;i<=n;i=i+3)
{t=1;
for(j=1;j<=i;j++)
t=t*j;
s=s+t;}
return(s);
}
main()
{printf("this sum=%e\n",sum(21));}
运行结果:
扩展资料:
阶乘的计算方法:
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
亦即n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。