C语言代码:
#include
int sumn(int n, int *flag);
int main()
{
int n, nf = 0;
scanf("%d", &n);
printf("%d\n", sumn(n, &nf));
if(nf != n)
printf("Error: %d\n", nf);
return 0;
}
int sumn(int n, int *flag)
{
(*flag)++;
if(n==1)
return 2;
return sumn(n-1, flag) + n * (n + 1);
}
运行测试:
int sumn(int n, int *flag)
{
(*flag)++;
if(!n) return 0;
int sum = n * (n + 1);
return sum + sumn(n - 1, flag);
}
#include
int sumn(int n,int*flag)
{
(*flag)++;
if(n==1) return 0;
return n*(n-1)+sumn(n-1,flag);
}
int main()
{
int n,nf=0;
scanf("%d",&n);
printf("%d\n",sumn(n,&nf));
if(nf!=n)
printf("Error:%d\n",nf);
return 0;
}