C语言中 用递归怎么求1+2+3+4+...+100
另外这个是递归还是递推#include<stdio.h>voidmain(){intsum(intx);printf("1+2+3+4+…+100=%d",sum(100...
另外 这个是递归还是递推#include<stdio.h>void main( ) {int sum(int x);printf("1+2+3+4+…+100=%d",sum(100));}int sum(int x){int s;if(x==1)s=1;elses=sum(x-1)+x; return(s);} 如果是递归的话 用递推怎么写如果这个是递推的话 用递归怎么写
展开
2个回答
推荐于2018-03-10
展开全部
是递归, 没有递推一说, 只有递归和循环两种, 或者直接计算,即知道其数学公式,
#include <stdio.h>
#include <stdlib.h>
int sum(int n)
{
if (n == 1) return n;
else return sum(n - 1) + n;
}
int sum1(int n)
{
return n * (n + 1) / 2;
}
int sum2(int n)
{
int sum = 0;
for (int i = 1; i <= n ; ++i)
{
sum += i;
}
return sum;
}
int main()
{
const int n = 100;
printf("%d\n", sum(n));
printf("%d\n", sum1(n));
printf("%d\n", sum2(n));
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int sum(int n)
{
if (n == 1) return n;
else return sum(n - 1) + n;
}
int sum1(int n)
{
return n * (n + 1) / 2;
}
int sum2(int n)
{
int sum = 0;
for (int i = 1; i <= n ; ++i)
{
sum += i;
}
return sum;
}
int main()
{
const int n = 100;
printf("%d\n", sum(n));
printf("%d\n", sum1(n));
printf("%d\n", sum2(n));
return 0;
}
2013-05-22
展开全部
这个是递归 递推就是用for语句
s=0;
for(i=1;i<=100;i++)
s+=i;
就是这样 望采纳
s=0;
for(i=1;i<=100;i++)
s+=i;
就是这样 望采纳
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询