ppts.net
当前位置:首页>>关于c语言数列求和程序 通项为a=1/2(1/2n-1-1/2n+1)的资料>>

c语言数列求和程序 通项为a=1/2(1/2n-1-1/2n+1)

#include <stdio.h> int main() { int i, j, n; double s = 0; scanf("%d", &n); for(i = 1; i <= n; i++) s += ((double)1/(2*i-1) - (double)1/(2*i)); printf("%lf\n", s); return 0; }

其实这个题目根本不用求出s,也不用担心它会超出int范围. 因为是数列,所以就要从数列规律上去找结果. 比如a=1,n=5,s=3.列竖式 1 11 111 1111 11111 ------ 12345 后3位是345. 个位是5,它是怎么计算出来的?a*n 十位是4,怎么算出来的?a*(n-1)+个的进位(如果有) 百位是3,怎么算出来的?a*(n-2)+低位的进位(如果有) 照这个规律,根本不用计算s. 定义一个数组int sm[10].sm[0]保存个位,sm[1]保存十位数字就行了, 我没有写出完整的程序,只是给你一个思路.自己理解一下,很好写出代码.遇到问题请教是好事.

#include void main(){int i,n;float j,k=0;scanf("%d",&n);for(i=1;i 评论0 0 0

An=1/(2n-1)(2n+1)=1/2(1/(2n-1)-1/(2n+1)) Sn =1/2(1-1/3+1/3-1/5+.-1/(2n+1)) =1/2(1-1/(2n+1)) =n/(2n+1)

看不出来,有点建议:计算前面的正负号的时候,不需要循环 if(i%2 == 0) n = 1 ; else n = -1; 还有这个算法可以改进:1/1-1/2 如果是奇数 1/(1*2)+1/(3*4)+1/(n-2*n-1) + 1/n 如果是偶数 1/(1*2)+1/(3*4)+1/(n-2*n-1)

2an=2/(2n-1)(2n+1) =[(2n+1)-(2n-1)]/(2n-1)(2n+1) =(2n+1)/(2n-1)(2n+1)-(2n-1)/(2n-1)(2n+1) =1/(2n-1)-1/(2n+1) 所以an=(1/2)[1/(2n-1)-1/(2n+1)] sn=1/2[1-1/3+1/3-1/5++1/(2n-1)-1/(2n+1)] =1/2[1-1/(2n+1) =n/(2n+1)

an=1/2*2/(2n-1)(2n+1)=1/2*[(2n+1)-(2n-1)]/(2n-1)(2n+1)=1/2*[(2n+1)/(2n-1)(2n+1)-(2n-1)/(2n-1)(2n+1)]=1/2*[1/(2n-1)-1/(2n+1)] 所以Sn=1/2*[1-1/3+1/3-1/5+1/5-1/7+……+1/(2n-1)-1/(2n+1)]=1/2*[1-1/(2n+1)]=n/(2n+1)

#include < stdio.h > void main() { float a=1,b=1,sum=0,count; printf("请输入count的值.\n"); scanf("%f",&count); for(int i=2;i<=count+1;i++) { sum=sum+a; b=-b; //除数依次是1,-1,1-1,所以所以去相反数 a=b/i;//准备下次的运算 } printf("%f",sum); }

算一个通项公式 An=(-1)^(n+1)/n!对于n!可以先算 然后变量代入for循环 至n再看看别人怎么说的.

第一个sn=a1+a2+a3+……an=1/2+2/(2平方)+……n/(2的n次方)2*sn=1+2/2+3/(2平方)+……+n/(2的n-1次方) - n/(2的n次方)sn=2*sn-sn=1+1/2+1/(2的平方)+2/(2的三次方)+……+1/(2的n-1次方) - n/(2的n次方)化简得sn=2-1/(2的n-1次方)-n/(2的n次方)

网站首页 | 网站地图
All rights reserved Powered by www.ppts.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com