C语言:用递归法求1*2*3 + 2*3*4 +3*4*5 +... +n*(n+1)*(n+2)的值,怎么编?
4个回答
展开全部
代码文本:
#include "stdio.h"
unsigned int f(unsigned int n){
return n!=1 ? n*(n+1)*(n+2)+f(n-1) : 6;
}
int main(int argc,char *argv[]){
unsigned int n;
printf("Enter n(int 0<n<1601)...\nn=");//n>1600后可能会溢出
if(scanf("%d",&n)==1 && n>0 && n<1601)
printf("The result is %u\n",f(n));
else
puts("Input error, exit...");
return 0;
}
展开全部
用以下的语句实现递归:
int fun(int n)
{if(n==1)return 1*2*3;
return n*(n-1)*(n-2)+fun(n-1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
long fun(int n){
if(n==3) return 1*2*3;
if(n>3) {
return fun(n)*fun(n+1)*fun(n+2);
}
}
int main(){
for(int i=n;i>=1;i--){
long m=0;
m = m+fun(i);
}
return 0;
}
if(n==3) return 1*2*3;
if(n>3) {
return fun(n)*fun(n+1)*fun(n+2);
}
}
int main(){
for(int i=n;i>=1;i--){
long m=0;
m = m+fun(i);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
供参考
long f(long n)
{
if (n == 1) return 6;
return n * (n + 1) * (n + 2) + f(n - 1);
}
long f(long n)
{
if (n == 1) return 6;
return n * (n + 1) * (n + 2) + f(n - 1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询