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

факториал - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Типы данных в языке С http://www.cyberforum.ru/cpp-beginners/thread194653.html
Ребят подскажите пожалуйста где взять подробную информацию про типы данных) а точнее Простой и вещественный)
C++ Нарисовать блоксхему Просьба нарисовать блоксхему и прокомментировать программу что где выполняется,очень надо. Задание. Рекуррентная формула: S=S+Ai, Ai=Ai-1*b, b=An/An-1 S – сумма ряда, Ai, Ai-1, An, An-1 – члены ряда, b – коэффициент b= (2*x*x*x*x*(4*n-1+x)*(4*n-5))/((4*n-5+x)*(4*n-1)); y=exp(x) - sin(x) - cos(x); Текст программы #include <stdio.h> #include <conio.h> #include <math.h> http://www.cyberforum.ru/cpp-beginners/thread194643.html
C++ Как умнодить двумерный массив на число!!
вот такая проблемка возникла нудно данные который я ввожу в массив умножить на число, которе я тоже ввожу с клавиатуры!!! например массив А надо умножить первую строку на 5 в на 7 и так далее!!
Получить действительную матрицу C++
Помогите найти ошибку. Дана действительная матрица a. Получить действительную матрицу b, элемент bij которой равен сумме элементов данной матрицы, расположенных в области, определяемой индексами i,j так, как показано на рисунке(картинки у меня нет): Почему ругается компилятор?? #include<iostream> #include<time.h> #include<conio.h> using namespace std; int M,N;
C++ С++, создание шаблонов http://www.cyberforum.ru/cpp-beginners/thread194611.html
Задание по C++ - создание шаблонов, помогите! Создать шаблон некоторого целевого класса А, возможно, реализованный с применением некоторого серверного класса В. Это означает, что объект класса В используется как элемент класса А. В качестве серверного класса может быть указан либо класс, созданный программистом либо класс из стандартной библиотеки — например, std::vector. Необходимо...
C++ Создать класс "Массив" Здравствуйте. Стоит задача создать класс программы, которая создает вторую матрицу из первой без её главной диагонали. С помощью одного из пользователей данного форума, получилась программа. Теперь преподователь говорит создать класс "Массив" к этой программе. Можете объяснить что это и как это осуществить? Насколько я знаю в этом классе должны содержаться функции, которые используются в... подробнее

Показать сообщение отдельно
Millen
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 17

факториал - C++

21.11.2010, 12:21. Просмотров 2381. Ответов 14
Метки (Все метки)

Задача: написать 3 функции, считающие факториал неотрицательного целого числа от 0 до 170 3 способами:
- с помощью цикла
- рекурсивно
- по формуле Стирлинга
(если число больше 170, надо возвращать бесконечность или код ошибки)

Пользователь вводит с клавиатуры целое число от 0 до 170. Поправлять его, пока не введёт правильно. Вывести на экран значения факториала, посчитанные 3 способами.

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include<math.h>
#include <string>
using namespace std;
const double pi = 4.*atan(1.);
const double e=exp(1.);
 
int cikl (int fact1)
{   unsigned int f = 1; 
    for (int i = 2; i <= fact1; i++) f*=i; 
    return(f);
}
 
int rek (int fact2)
{    if (fact2<=1) return 1;
    else
    return rek(fact2-1)*fact2;
}
 
int sterl(int fact3)
{    unsigned int x; 
    double y,z,w;
    x=pow(fact3,fact3/1.0);
    y=pow(e,-fact3/1.0);
    z=sqrt(2*pi*fact3);
    w=x*y*z;
    return(w);
}
 
int _tmain(int argc, _TCHAR* argv[])
{int n;
for(;;)
{
printf("input n = ");
  scanf("%d",&n);
  if((n>=0)&&(n<=170))
  {printf("%d",cikl(n));
printf("\n");
printf("%d",rek(n));
printf("\n");
printf("%d",sterl(n));
printf("\n");
       break;}
  else
  {printf("\nerror\n\n");}
  }
    return 0;
}
Естественно получается переполнение. Подскажите, пожалуйста, как его обойти и дойти до 170! ? Или нужно было реализовывать каким-то иным способом? Буду благодарен за советы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru