湖南高考数列题

学习档案 | 2013-06-11 21:24:55 | 2026次阅读 | 2评

有数列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)+n
f(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;
}

博友评论,共2条
Avatar
1楼: yeme2013 发表于 2013-06-12 15:01   回复
你别告诉我高考考这个,吓我一跳
Avatar
2楼: qunxingw 发表于 2013-06-12 18:04   回复
这仅是小范围的一种思路,此题是指数级的数据。
浏览152293次