求阶层和

    技术2022-07-11  110

    求1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)!

    (1)模型为Sn=Sn-1+(-1)n+1/(2n-1)!

    #include <stdio.h> #include <stdlib.h> int main() { int i, j, n, sign; float s, t; printf("请输入n:"); scanf("%d", &n); sign = 1; s = 1; for(i = 2; i <= n; i++) //从第二项开始 { t = 1; for(j = 2;j <= 2*i-1; j++) //求阶层 {t = t*j;} for(j = 2; j <= i; j++) //求符号 {sign = sign * (-1);} s = s + sign/t; //求和 } printf("sum = %f", s); }

    时间复杂度为O(n^2)

    (2)模型为Sn=Sn-1+(-1)n+1An,An=An-1 *1/((2n-2)(2n-1))

    #include <stdio.h> #include <stdlib.h> int main() { int i, n, sign; float s, t = 1; printf("请输入阶层:"); scanf("%d", &n); sign = 1; s = 1; for(i = 2; i<= n; i++) { sign = -sign; //求符号 t = t*(2*i-2)*(2*i-1); //求阶层 s = s + sign/t; //求和 } /*for(i = 1; i<= n-1; i++ { sign = -sign; t = t*2*i*(2*i+1); s = s + sign/t; }*/ printf("sum = %f", s); }

    时间复杂度为O(n)

    Processed: 0.011, SQL: 9