请用C语言写一个程序,功能为求1+2!+3!+…+20!的和 5
6个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
//给count赋值过大时,可能溢出.
long calculate_factorial_sum(int count) {
if(count <= 0) return -1L;
int ix = 1, cnt = 1;
long sum = 0L, num = 1L;
//外循环处理阶乘的求和
for(; ix <= count; ++ix) {
//内循环处理求解阶乘
for(; cnt <= ix; ++cnt) {
num *= cnt;
}
sum += num;
}
return sum;
}
int main(int argc, char *argv[])
{
long num = calculate_factorial_sum(4);
printf("result : %ld", num);
return 0;
}
#include <stdlib.h>
//给count赋值过大时,可能溢出.
long calculate_factorial_sum(int count) {
if(count <= 0) return -1L;
int ix = 1, cnt = 1;
long sum = 0L, num = 1L;
//外循环处理阶乘的求和
for(; ix <= count; ++ix) {
//内循环处理求解阶乘
for(; cnt <= ix; ++cnt) {
num *= cnt;
}
sum += num;
}
return sum;
}
int main(int argc, char *argv[])
{
long num = calculate_factorial_sum(4);
printf("result : %ld", num);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
include<stdio.h> int main() int i,k=1,sum=0; { for(i=1;i<=20;i++) { k=k*i; sum=sum+k; } printef("%d/n",sum); return 0; }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main(void)
{
int sum;
int i, k, n = 20;//n表示最大阶乘数
sum = 1;
k = 1;
for (i = 2; i <= n; i++){
k *= i;
sum += k;
}
printf("%d\n", sum);
return 0;
}
int main(void)
{
int sum;
int i, k, n = 20;//n表示最大阶乘数
sum = 1;
k = 1;
for (i = 2; i <= n; i++){
k *= i;
sum += k;
}
printf("%d\n", sum);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
float pSum(int n)
{
float sum=0;
float pt=1;
for(int i=1;i<=n;i++)
{
pt*=i;
sum+=pt;
}
return sum;
}
void main()
{
int i=20;
float sum=pSum(i);
printf("%g\n",sum);
}
float pSum(int n)
{
float sum=0;
float pt=1;
for(int i=1;i<=n;i++)
{
pt*=i;
sum+=pt;
}
return sum;
}
void main()
{
int i=20;
float sum=pSum(i);
printf("%g\n",sum);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用递归方法最简单!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询