2个回答
展开全部
这道题是求从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。
展开全部
'''------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:编写函数main 求3!+6!+9!+12!+15+18!+21!。
要求:编写函数中包含输出语句,直接打印表达式的结果。
---------------------------------------------------------
注意:部分源程序给出如下。请勿改动其它函数中的任何内容,
仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------'''
def main():
#**********Program**********
s = 0
factorial = 1
num = [3,6,9,12,15,18,21]
for i in num:
for j in range(1, i+1):
factorial *= j
s += factorial
factorial = 1
print(s)
#********** End **********
if __name__ == '__main__':
main()
【程序设计】
---------------------------------------------------------
题目:编写函数main 求3!+6!+9!+12!+15+18!+21!。
要求:编写函数中包含输出语句,直接打印表达式的结果。
---------------------------------------------------------
注意:部分源程序给出如下。请勿改动其它函数中的任何内容,
仅在函数的注释标志之间填入所编写的若干语句。
------------------------------------------------------'''
def main():
#**********Program**********
s = 0
factorial = 1
num = [3,6,9,12,15,18,21]
for i in num:
for j in range(1, i+1):
factorial *= j
s += factorial
factorial = 1
print(s)
#********** End **********
if __name__ == '__main__':
main()
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询