求从1到n的k次幂的和。(均为正整数)

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:33:00
即求1的k次幂+2的k次幂+3的k次幂+***+n的k次幂。
我记得是有一般公式的,可是想不起来……

【思路】:幂相同,底不同,直接取自然对数就可以解了。
【过程】:
设数列通项公式为An=n^k (k为正整数),Sn为数列{An}的前n项之和
设Bn=ln(An)
则Bn=kln(n)
【分析】:要求得An之和,则只需要将对数相乘,根据对数性质可以得到求和的表达式。具体步骤如下:(考虑到ln1=0,所以从第二项开始计算)。
B2*B3....*Bn=ln(A2)*ln(A3)...*ln(An)=ln(A2+A3+...+An)=ln(Sn-A1)=Ln(Sn-1)
而B2*B3...*Bn=kln2*kln3...*kln(n)=[k^(n-1)]*ln(2+3...+n)
=[k^(n-1)]ln[(n²+n-2)/2]

则ln(Sn-1)=[k^(n-1)]ln[(n²+n-2)/2]
则根据对数性质,得到Sn-1=[(n²+n-2)/2]^[k^(n-1)]
Sn=[(n²+n-2)/2]^[k^(n-1)]+1

【答案】 =[(n²+n-2)/2]^[k^(n-1)]+1

可用计算机帮助解决,用Visual C++ 6.0 版本即可;
具体代码如下:
#include<stdio.h>
#include<cmath.h>

int main()
{
int k,i;
int sum=0;
for(i=1;i<=n;i++)
{
sum+=i^k;
}
printf("The result of sum is %d\n");
return 0;
}

没仔细研究过。一时还想不起来。