幂函数求和公式

幂函数求和公式,第1张

幂函数求和公式:s=N+(N-1)+(N-2)+...+1,其中,所有添加的二项式展开式数,按下列二项式展开式确定,如此可以顺利进行自然数的1至n幂的求和公式的递进推导。

推导的过程:可通过二项式定理的展举悄开式,可以转化为按等差数列,由低次幂到高次幂递进求和,最终可推导至李善兰自然数幂求和公式的原形。

当n为奇数时,由1+2+3+...+N与s=N+(N-1)+(N-2)+...+1相加得:2s=N+[1+(N-1)]+[2+(N-2)]+[3+(N-3)]+...+[(N-1)+(N-N-1)]+N=N+N+N+...+N加或减去所有添加的二项式展开式数=(1+N)N减去所有添加的二项式展开式激裤数。

当n为偶数时,由1+2+3+...+N与s=N+(N-1)+(N-2)+...+1相加得:2s=N+[1+(N-1)]+[2+(N-2)]+[3+(N-3)]+...+[(N-1)+(N-N-1)]+N=2N+2[(N-2)+(N-4)+(N-6)+...0或1]加或减去所有添加的二项式展开式数。

又当n为偶数时,由1+2+3+...+N与s=N+(N-1)+(N-2)+...+1相加得:2s=[N+1]+[(N-1)+2]+[(N-2)+3]+...+[(N-N-1)+(N-1)]=2[(N-1)+(N-3)+(N-5)+...0或1]加或减去所有添加的二项式展开明答简式数,合并n为偶数时2S的两个计算结果,可以得到s=N+(N-1)+(N-2)+...+1的计算公式。

1,for循环的条件错了,应该是大于号。

2,math.h中的函数用的时候猛碰要慎重,这些都是用来做复杂的数学计算的,时间开销都很大。

3,求余只能对整数 *** 作,这点是必然的。但浮点数是枝举谈可答慧以转换成整数的,可以用强制类型转换,或者设一个整型的中间变量。注意浮点数转整数的时候是舍入的。当然,这里只是说这个事,不建议这样做。

建议的做法有两个,简单点延用原有的思路,可以自己写一个求10的k次方的函数,用整数进行运算。

int pow10n( int k )

{

r = 1

for(i=0i <k ++i)

r *= 10

return r

}

复杂点的做法是把求10的k次方这个运算和拆分n的循环嵌在一起,这个应该是正统的做法。

for( k=0k<3++k )

{

n %= 10

}

当然,这个算法得到的结果是逆序的,4、3、2、1

这有两个办法,一个是把结果顺序放到数组中,输出的时候把顺序倒过来,说白了是用中间变量。

另外一个办法是用栈,或者用递归(本质上也是用的栈),直接按逆序出结果。当然,这个方法对初学者有点难度了。

#include<stdio.h>

#include<math.h>

int main()

{

    int sum=0

    int n,a

 乱凳   scanf("%d", &n)

    for (int i=1i<=ni++)

   宏扰 {

        a=pow(2,i)

        sum=+sum

    }

    printf("%d\n"哗绝旅, sum)

    

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12564167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存