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

Как раелизовать вычисление субфакториала на си, чтобы не переполнялся стек? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ динамическое выделение http://www.cyberforum.ru/cpp-beginners/thread298909.html
совсем запуталась в динамическом выделение памяти.. подскажите,верно ли решено?? #include <iostream> #include <stdio.h> using namespace std; void main() { setlocale (LC_ALL,".1251"); int j, i, k,c,t; const int m=3,n=4;
C++ Как считать массив из файла #include <iostream> #include <fstream> using namespace std; int main() { setlocale(0,""); const int str = 5; const int stolb = 5; http://www.cyberforum.ru/cpp-beginners/thread298896.html
C++ Файлы
Здравствуйте! Прошу помочь написать программу: Найти в текстовом файле одинаковые слова и вывести количество повторений каждого в другой файл. Добавлено через 34 минуты если можно, то просьба использовать <stdio.h>
Как установит цвет текста C++
Как установит цвет текста, чтобы первая строка была красным cout<<"The maximum size of the matrix 5x5: "<<endl; среда программирования Borland
C++ Перемещение элементов матрицы. http://www.cyberforum.ru/cpp-beginners/thread298881.html
Доброго времени суток. Я хочу попросить совета о создании такого алгоритма. Например, у меня есть матрица : 4 3 9 5 2 1 6 7 8 мне надо сделать её (желательно с минимальным числом переещение элементов) 1 2 3 4 5 6 7 8 9 при этом,чтобы перемещение элемента было пошаговым, например вначале перемещаем единицу и получаем
C++ как проверить господа програмисты как можно программно проверить существование файла .txt на определённом диске,допустим диск "С" ? подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
05.06.2011, 17:47     Как раелизовать вычисление субфакториала на си, чтобы не переполнялся стек?
C++
1
2
3
4
5
6
unsigned long long mypow(int a,int b){
    int temp=a;
    while (--b)
        a*=temp;
    return a;
}
Вообще факториал должен очень быстро вычисляться, скорее всего он просто не влазит в int.
P.S. не на ******** сдаете случаем?
...
Тьфу
Не то совсем выложил
Извиняюсь

Добавлено через 13 минут
Вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
long double fact(int a){
    long double b=1;
    for (int i=1; i <=a;i++)
        b*=i;
    return b;
}
int main(){
    int a,b;
    std::cin >> a ;
    std::cout << (unsigned long long)((fact(a)+1)/2.7182818284590452);
    return 0;
}
От !19 начинает немного неправильно считать, т.к. константа неточная.
 
Текущее время: 18:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru