首页 > 代码库 > 递归求和1到n

递归求和1到n

一般的方法

#include<stdio.h>

int sum(int n)
{
if(n==1)
return 1;
else
return n+sum(n-1);
}

int main(void)
{
int n;
while(scanf("%d",&n)==1)
{
printf("%d\n",sum(n));
}
return 0;
}

 

 

如果加上这些条件设置

题目:求1+2+…+n,

要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
 

#include<stdio.h>

int digui(int sum,int n)
{
n&&digui(sum+n,n-1);
}

int main(void)
{
int n;
while(scanf("%d",&n)==1)
{
printf("%d\n",digui(0,n));
}
return 0;
}

 

很不错!哈哈哈!多多感悟!

递归求和1到n