Форум программистов, компьютерный форум CyberForum.ru

Вычисление факториала - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сделать функцию "Команда" http://www.cyberforum.ru/cpp-beginners/thread163290.html
Может кто помочь написать функцию "команда", т.е. например в консольном приложении вводишь команду, например hello, в ответ выводится hello world и тому подобное, задавать команду примерно так: command("hello") { printf ("Hello World\n"); }
C++ Приложения для телефона Писать приложения для телефона можно только на Java? Просто я слышал, что можно писать на си++ приложения для телефона, это правда? http://www.cyberforum.ru/cpp-beginners/thread163289.html
C++ Защита программы
Требуется, чтобы программа работала в двух режимах: - Режим с ограничениями (демо) - Режим полной функциональности Методы регистрации программы пока что не интересуют. Думаю, как это лучше сделать, в голову пришла такая мысль. Создается специальный класс-защитник, в который инкапсулируется класс основной программы. В главной функции создается объект защитника и запускается. В методе...
C++ Сеть и очередь структур
Всем привет. Пишу клиент-серверное приложение, в качестве пакета данных у меня 4 int числа, в виде структуры. struct message { int arg; }; Клиентская программа параллельным потоком принимает данные от сервера, каждая "порция" данных это одна структура message.
C++ Получение времени года по введенному пользователем месяцу http://www.cyberforum.ru/cpp-beginners/thread163203.html
Решить с помощью оператора Case. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение "Ошибка ввода данных". Ниже представлен рекомендуемый вид экрана во время работы программы.Введите номер месяца (число от 1 до 12) и нажмите <Enter> -> 11.
C++ Динамической вектор Створить параметризований тип, динамической вектор.Реализировать функциї: додаванние и удаление елементов, поиск максимального за сер. оценками, сортировка за фамилиеи. ===================== Клас студент Поля: фамилия, факультет, середня оценка. Удалить тех студентов, сер.оценка которих ниже как 3!! ===================== Проблема с вектором подробнее

Показать сообщение отдельно
neske
1427 / 794 / 57
Регистрация: 26.03.2010
Сообщений: 2,735
03.09.2010, 18:14     Вычисление факториала
Lavroff, у вас ошибка. Переменная res сначала должна ровняться переменной X.

Мой вариант, может-быть есть ошибка, делал быстро:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <cmath>
 
typedef unsigned long long ull;
ull factorial(int n)
{
    return (n>1) ? n*factorial (n-1) : n;
}
 
double func (double X)
{
    const int operations[]={0, 1, 0, 1, 1, 1}; // 0 - , 1 +-
    int cnt=0;
 
    const double copy_x=X;
    for (size_t i=3; i<=13; i+=2)
    {
        operations [cnt++] ? (X+=pow (copy_x, i) / factorial (i))
                           : (X-=pow (copy_x, i) / factorial (i));
    }
 
    return X;
}
 
int main (void)
{
    double X;
    std::cout << "Input X: ";
    std::cin >> X;
 
    std::cout << "X=" << func (X);
    std::cout << std::endl;
 
    return 0;
}
 
Текущее время: 08:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru