作者在 2013-06-11 21:24:55 发布以下内容
有数列a(n)满足:2a(n)-a(1)=s(n)s(1);其中n是正整数,s(n)为各项之和,a(1)不等于0;
1,求,a(1),a(2)的值;
并求,a(n)的通项;
2,求数列n*a(n)各项之和;
以下为递归实现。
#include<stdio.h>
int s(int n);
int sum(int n);
int f(int n)//a( n)=s(n-1)+1
{
if(n==1) return 1;
return s(n-1)+1;
}
int s(int n)//s(n)=s(n-1)+a(n)
{
if(n==1) return 1;
return s(n-1)+f(n);
}
int sum(int n)//na(n)数列之和
{
if(n==1) return 1;
return sum(n-1)+nf(n);
}
int main()
{
int n;
printf("a(1)=%d,a(2) =%d \n",f(1),f(2));
printf("求n的通项的a(n),请输入n的值\n");
scanf("%d",&n);
printf("此项的大小为%d\n" ,f(n));
printf("求数列n*a(n)的通项的和,请输入n值\n");
scanf("%d",&n);
printf("到此项的总和为%d \n ",sum(n));
return 0;
}