6个回答
推荐于2017-09-02 · 知道合伙人教育行家
关注
展开全部
思路:先用递归求出一个数的阶乘,接着for循环累加求和。
参考代码:
#include<stdio.h>
int fun(int n){
if(n==1) return 1;//递归结束条件
return n*fun(n-1);//递归式
}
int main()
{
int sum=0,i;
for(i=1;i<=6;i++)//for循环累加求和
sum+=fun(i);
printf("%d\n",sum);
return 0;
}
/*
运行结果:
873
*/
展开全部
main函数调用的时候n传6就是求到6!的和了。
#include "stdafx.h"
#include <stdio.h>
long fac[7]={0};//定义存储阶乘的全局数组
int getFac(int n){//递归求阶乘
if(fac[n]!=0)return fac[n];
else if(n==1){
fac[1]=1;return fac[1];
} else if return fac[n]=n*getFac(n-1);
}
int getSum(int n){//递归求和
if(n<0)return -1;//输入n非法
if(n==0) return 0;
else return getFac(n) + getSum(n-1);
}
int main(int argc, char* argv[])
{
printf("1!+2!+3!+4!+5!+6!=%d\n",getSum(6));//调用
return 0;
}
#include "stdafx.h"
#include <stdio.h>
long fac[7]={0};//定义存储阶乘的全局数组
int getFac(int n){//递归求阶乘
if(fac[n]!=0)return fac[n];
else if(n==1){
fac[1]=1;return fac[1];
} else if return fac[n]=n*getFac(n-1);
}
int getSum(int n){//递归求和
if(n<0)return -1;//输入n非法
if(n==0) return 0;
else return getFac(n) + getSum(n-1);
}
int main(int argc, char* argv[])
{
printf("1!+2!+3!+4!+5!+6!=%d\n",getSum(6));//调用
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int f(int x){
if(x==1) return 1;
return x*f(x-1);
}
int main()
{
int sum=0;
for(int i=1;i<=6;i++)
{
sum=sum+f(i);
printf("f(%d)=%d\n",i,f(i));
}
printf("sum=%d",sum);
return 0;
}
int f(int x){
if(x==1) return 1;
return x*f(x-1);
}
int main()
{
int sum=0;
for(int i=1;i<=6;i++)
{
sum=sum+f(i);
printf("f(%d)=%d\n",i,f(i));
}
printf("sum=%d",sum);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{int sum=0;
int temp=1;
for(int n=1;n<7;n++)
{
for(int m=1;n<m+1;m++)
{
temp*=m;
}
sum+=temp;
temp=1;
}
printf("1!+2!+3!+4!+5!+6!=%d",sum);
}
{int sum=0;
int temp=1;
for(int n=1;n<7;n++)
{
for(int m=1;n<m+1;m++)
{
temp*=m;
}
sum+=temp;
temp=1;
}
printf("1!+2!+3!+4!+5!+6!=%d",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// fac的作用是求i的阶乘
int fac(int i)
{
if(i == 1)
return 1;
else
return i*fac(i-1);
}
int main()
{
int i = fac(1)+fac(2)+fac(3)+fac(4)+fac(5)+fac(6);
}
int fac(int i)
{
if(i == 1)
return 1;
else
return i*fac(i-1);
}
int main()
{
int i = fac(1)+fac(2)+fac(3)+fac(4)+fac(5)+fac(6);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询