Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите с факториалами в С++ (http://www.tehnari.ru/f41/t37880/)

artes33 26.07.2010 05:35

Конечно, правильно, но врожденная вредность требует возразить:

Цитата:

Данный раздел предполагает помощь начинающим программистом.
и
Код:

if ((n == 1) || (n == 0))
более наглядно отражает алгебраическое определение факториала от нуля: 0! = 1.

з.ы. Просто поспорить люблю.

з.ы.ы. Тогда stable release:
Код:

#include <iostream>
#include <cmath>

unsigned __int64 fact(unsigned __int64 n)
{
        if (n < 2)
        {
                return 1;
        }
        else
        {
                return n * fact(n - 1);
        }
}

int main()
{
        unsigned __int64 n;
                do
                {
                        std::cout << "Enter n (n >= 1 and n = 1 (mod 2)):\r\n";
                        std::cin >> n;
                } while ((n < 1) || (n % 2 == 0));
        std::cout << "Enter x:\r\n";
        double x;
        std::cin >> x;
        double summ = 0.0;
                for (unsigned __int64 i = 1; i <= n; i += 2)
                {
                        summ += pow(x, (double)i) / fact(i);
                }
        std::cout << "Result: " << summ << "\r\n\r\n";
        return 0;
}


Long Cat 26.07.2010 05:38

По поводу стилистики, я к сожалению, могу еще долго цепляться...
У нас катастрофическая нехватка программистов на форуме, поэтому в эту тему долго не было ответа.

zarazko 23.05.2011 18:11

помогите пожалуста решить задачу
 
вывести 1-x2/2!+x4/4!-...+(-1)n*x2n/(2n)!
где х2,х4,х2n- степени числа х,
(-1)n - степень числа (-1)


Часовой пояс GMT +4, время: 23:29.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.