Post a New Question

C++

posted by on .

Write a MAIN function and a FUNCTION to compute the sum of the below series.

((-1)^(n+1)*n!)/(n*n) (from n=1 to infinity)

Within the MAIN function:
. Read a variable EPSILON of type DOUBLE (desired accuracy) from
the standard input.
EPSILON is an extremely small positive number which can be anything
between 1E-06 (10^(-6)) and 1E-12 (10^(-12)).
. EPSILON value will be passed to the FUNCTION as an argument.
Within the FUNCTION:
. In a do-while loop:
. Continue adding up the terms until |Sn+1 - Sn| < EPSILON.
. Sn is the sum of the first n-terms.
. Sn+1 is the sum of the first (n+1)-terms.
When the desired accuracy EPSILON is reached print the SUM and the number
of TERMS added to the sum.

  • C++ Typo? - ,

    You may want to check the question.

    If I interpret your question correctly, you are to calculate:


    Σ [(-1)^(i+1)]i!/i^2
    i=1
    is divergent.

    You can show divergence by seeing each term (without regard to sign) as
    T(i-1)=(i-1)!/(i-1)^2
    So
    T(i)=i!/i^2
    =[T(i-1)*i]*(i-1)^2/i^2
    =T(i-1) *(i-1)^2/i
    which is clearly divergent.

  • C++ - ,

    excuse me if a run this in a c program. is it will be right or no?

  • C++ - ,

    It will never converge, because the terms are getting bigger and bigger.
    For the sum of a series to converge, the limit of the nth term must be zero, when n->∞.

    The limit of n!/n^2 is ∞, so the series will never converge.

    Take the example of the first few terms:

    n=1, T(1)=1!/1^2=1
    n=2, T(2)=-2!/2^2=1/2
    n=3, T(3)=3!/3^2=2/3
    n=4, T(4)=-4!/4^2=3/2
    n=5, T(5)=5!/5^2=24/5
    n=6, T(6)=-6!/6^2=20
    ....
    You can continue with the computer and the calculator.

    I suspect there is a typo. One possibility is that the expression is meant to be:
    ((-1)^(n+1)*n!)/(n^n) (from n=1 to infinity)

  • C++ - ,

    Also ý don't understand the question. this question was publishted in system this is my homework of c++. and question was exactly same which ý wrote up. ý don't know how ý should to download in system the homework in c program or normaly in text. what you think how ý should to do this. ý think question is just to compute the forward series. do you have any idea??

  • C++ - ,

    Please confirm if the denominator was n^n or n*n, it makes the whole difference.

    I do not think you should start working on C++ until you get the question cleared up. C++ is just a tool to get the answer, if there is one.

  • C++ - ,

    By the way, here are the first 40 sums according to your question. Hope it is obvious that it is not going to converge.

    1 1.000000
    2 0.500000
    3 1.166667
    4 -0.333333
    5 4.466667
    6 -15.533333
    7 87.323810
    8 -542.676190
    9 3937.323810
    10 -32350.676190
    11 297540.232900
    12 -3028859.767100
    13 33817417.155977
    14 -410969782.844023
    15 5400916297.155977
    16 -76328731702.844020
    17 1154423614650.097200
    18 -18605989057349.902000
    19 318361048086229.060000
    20 -5763893972355371.000000
    21 110088582607484624.000000
    22 -2212226970652035330.000000
    23 46657369889243955000.000000
    24 -1030509994230963400000.000000
    25 23787426075098613000000.000000
    26 -572797575591477840000000.000000
    27 14363923206875396000000000.000000
    28 -374524271450922870000000000.000000
    29 10138866922056450000000000000.000000
    30 -284586532869266930000000000000.000000
    31 8271957332040122000000000000000.000000
    32 -248691750611019940000000000000000.000000
    33 7724969974652419000000000000000000.000000
    34 -247666724696285400000000000000000000.000000
    35 8187556105006690000000000000000000000.000000
    36 -278844331850163950000000000000000000000.000000
    37 9775029365174193000000000000000000000000.000000
    38 -352428999351308500000000000000000000000000.000000
    39 13058407345946156000000000000000000000000000.000000
    40 -496888644683989900000000000000000000000000000.000000

  • C++ - ,

    ý took this from web site copy paste.. ý am sure is like this

  • C++ - ,

    I suggest you talk to the teacher or the author of the website and explain that the series diverges.

    If it is a public site, I'd like to know the link.

    On the other hand, I don't know if you got the right web site, I believe your question probably started with:

    "Write a MAIN function and a FUNCTION to compute the sum of the below series.
    1 + 2!/4 + 3!/27 + 4!/256 + ...
    Determine the general term of the series first.
    ......
    ......"

    from which the general term is
    n!/(n^n) (and not n!/n^2)

    except that your series is an alternating series.

  • C++ - ,

    QUESTÝON ÝS EXACTLY THÝS :

    Write a MAIN function and a FUNCTION to compute the sum of the below series.

    ((-1)^(n+1)*n!)/(n*n) (from n=1 to infinity)

    Within the MAIN function:
    . Read a variable EPSILON of type DOUBLE (desired accuracy) from
    the standard input.
    EPSILON is an extremely small positive number which can be anything
    between 1E-06 (10^(-6)) and 1E-12 (10^(-12)).
    . EPSILON value will be passed to the FUNCTION as an argument.
    Within the FUNCTION:
    . In a do-while loop:
    . Continue adding up the terms until |Sn+1 - Sn| < EPSILON.
    . Sn is the sum of the first n-terms.
    . Sn+1 is the sum of the first (n+1)-terms.
    When the desired accuracy EPSILON is reached print the SUM and the number
    of TERMS added to the sum.

    TEST the program with different EPSILON values between 1E-06 and 1E-12.

  • C++ - ,

    There is a mistake in the question because the series will NOT converge, and will become an infinite loop (never stops).
    The results are as shown above.
    If you want to continue coding while waiting for your teacher's instructions (it's only one character to correct), you can proceed, but beware that it will run indefinitely if coded correctly.

    Have you started coding? I do not think you need a pseudocode, since the instructions are explicit.

  • C++ - ,

    For your information, if the denominator had been n^n, the series converges to 0.655832 in about 17 iterations, and to 0.655831600867 (12 digits) in 34 iterations.

    If the denominator remains n*n (= n^2), the results are shown to diverge, as demonstrated in the above post
    (Friday, March 9, 2012 at 5:35pm)

    There is also the possibility that the expression n*n was originally n**n which meant n^n in fortran (an earlier language).

  • C++ - ,

    what is meaning of this which said: TEST the program with different EPSILON values between 1E-06 and 1E-12.


    if ý send to teacher this answer:

    You may want to check the question.

    If I interpret your question correctly, you are to calculate:


    Σ [(-1)^(i+1)]i!/i^2
    i=1
    is divergent.

    You can show divergence by seeing each term (without regard to sign) as
    T(i-1)=(i-1)!/(i-1)^2
    So
    T(i)=i!/i^2
    =[T(i-1)*i]*(i-1)^2/i^2
    =T(i-1) *(i-1)^2/i
    which is clearly divergent.


    is goona be a right or not.. summary ý want to know which answer ý need to send :S:S

  • C++ - ,

    The answer the teacher expects from you is the C++ code which will calculate the sum of the given series.

    What you can do is to demonstrate using you code that the series diverges, unless the teacher modifies the question in the mean time.

    EPSILON is a constant which will end the calculations when the difference between successive terms is less than EPSILON.
    For EPSILON = 1E-6, the series ((-1)^(n+1)*n!)/(n^n) (from n=1 to infinity) will converge in 17 terms, and when EPSILON =1E-12, it will converge in 34 terms. So the value of EPSILON determines how accurate the sum would be.

    For the given series (by your teacher), the series will not converge, because the difference between successive terms increase indefinitely. So it will become an infinite loop.

  • C - ,

    you are right the question is exactly like this... can you help me for this question.... thanks


    Write a MAIN function and a FUNCTION to compute the sum of the below series.

    ((-1)^(n+1)*n!)/(n^n) (from n=1 to infinity)

    Within the MAIN function:
    . Read a variable EPSILON of type DOUBLE (desired accuracy) from
    the standard input.
    EPSILON is an extremely small positive number which can be anything
    between 1E-06 (10^(-6)) and 1E-12 (10^(-12)).
    . EPSILON value will be passed to the FUNCTION as an argument.
    Within the FUNCTION:
    . In a do-while loop:
    . Continue adding up the terms until |Sn+1 - Sn| < EPSILON.
    . Sn is the sum of the first n-terms.
    . Sn+1 is the sum of the first (n+1)-terms.
    When the desired accuracy EPSILON is reached print the SUM and the number
    of TERMS added to the sum.

Answer This Question

First Name:
School Subject:
Answer:

Related Questions

More Related Questions

Post a New Question