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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сделать функцию "Команда" http://www.cyberforum.ru/cpp-beginners/thread163290.html
Может кто помочь написать функцию "команда", т.е. например в консольном приложении вводишь команду, например hello, в ответ выводится hello world и тому подобное, задавать команду примерно так:...
C++ Приложения для телефона Писать приложения для телефона можно только на Java? Просто я слышал, что можно писать на си++ приложения для телефона, это правда? http://www.cyberforum.ru/cpp-beginners/thread163289.html
C++ Защита программы
Требуется, чтобы программа работала в двух режимах: - Режим с ограничениями (демо) - Режим полной функциональности Методы регистрации программы пока что не интересуют. Думаю, как это лучше...
Чтение файла по блокам C++
Добрый день, помогите пожалуста с чтение файла на С++, без NET Фаил хранит блоки текста разделяемые текстовой меткой "END", блок при считывании хочу помешать в string, потом уже обрабатывать...
C++ Сеть и очередь структур http://www.cyberforum.ru/cpp-beginners/thread163208.html
Всем привет. Пишу клиент-серверное приложение, в качестве пакета данных у меня 4 int числа, в виде структуры. struct message { int arg; }; Клиентская программа параллельным потоком...
C++ Получение времени года по введенному пользователем месяцу Решить с помощью оператора Case. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое... подробнее

Показать сообщение отдельно
neske
1502 / 869 / 84
Регистрация: 26.03.2010
Сообщений: 2,983
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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru