#include <stdio.h>
long long add(int n)
{
if (n==1) {
return 1;
}
else {
return n+add(n-1);
}
}
int main() {
int n=0;
scanf("%d",&n);
long long ret=add(n);
printf("%lld",ret);
return 0;
} #include <stdio.h>
int main()
{
//本质上是求,首项为1,公差为1的等差数列的前n、项和
//方法一
// int n = 0;
// long int ret =0;
// scanf("%d", &n);
// int i = 0;
// for(i = 1;i <= n;i++) //此方法更易修改第一项,和公差
// {
// ret +=i;
// }
// printf("%ld\n",ret);
//方法二
long int n =0;
scanf("%ld",&n);
printf("%ld",(n + 1)*n/2);
} #include <stdio.h>
int main()
{
long long n=0;
long long sum=0;
scanf("%lld",&n);
sum=(1+n)*n/2;
printf("%lld\n",sum);
return 0;
} #include <stdio.h>
int main()
{
long long a;
scanf("%lld",&a);
printf("%lld",(1+a)*a/2);
return 0;
} // 总和太大,注意用长整型
long long sum(unsigned n)
{
if(n<=1) // 注意给条件防止死循环,当n<=1时,开始层层往上返回结果
{
return 1;
}
return n + sum(n-1);// 递归实现
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%lld\n", sum(n));
return 0;
}