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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
#1

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

16.12.2010, 22:59. Просмотров 2457. Ответов 11
Метки нет (Все метки)

В одном задании я столкнулся с факториал b(итое)=i/(i!)
восклицательный знак это факториал я понял а вот как его обьявить в языке c++ незнаю подскажите
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2010, 22:59     Вычисление факториала
Посмотрите здесь:

Вычисление факториала - C++
Помогите пожалуйста вычислить факториал:

Вычисление факториала. - C++
Помогите пожалуйста решить задачу!! Язык С++ Дано натуральное число n. Написать программу, которая вычисляет факториал неотрицательных...

Вычисление факториала - C++
ребята помогите решить. составьте пожалуйста код!) а) (m+1)!

Вычисление факториала - C++
Написать программу, чтобы она циклически запрашивала ввод пользователем числа и считала его факториал до тех пор, пока пользователь не...

Вычисление факториала - C++
Нужно заставить программу выводить результат, но почему то не получается #include <stdio.h> #include <conio.h> int f(int); ...

Вычисление факториала числа - C++
Написать программу, которая вычисляет факториал введенного с клавиатуры числа. (Факториалом числа n называется произведение целых чисел от...

Вычисление двойного факториала - C++
Помогите пожалуйста не как не пойму, само задание: Вычисление двойного факториала числа n!!=n*(n-2)*(n-4)*(n-6) и тд... Число n вводится с...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.12.2010, 23:12     Вычисление факториала #2
Steam.dll, Рекурсивный
C++
1
2
3
4
int fact(int n)
{
    return !n || n == 1? 1 : fact(n-1)*n;
}
итеративный
C++
1
2
3
4
5
6
7
int factr(int n)
{
    int answer = 1;
    for(int i = 1; i <= n; i++)
       answer *= i;  
    return answer; 
}
Двойной факториал:
итеративный
C++
1
2
3
4
5
6
int factorial2(int n)
{
    for (int i = n - 2; i >= 1; n *= i, i -= 2);
 
    return n == 0 ? 1 : n; 
}
рекурсивный
C++
1
2
3
4
5
6
7
8
9
10
11
int doublefactorial(int x)
{
 if (x<3)
 {
  return x;
 }
 else
 {
  return x*doublefactorial(x-2);
 }
}
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
16.12.2010, 23:27  [ТС]     Вычисление факториала #3
Я еще больше запутался мне дали задание.
в 1 получить одномерный масив мне получается надо записать просто b[i]=i\(i!) а факториал как сделать то
Миниатюры
Вычисление факториала  
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.12.2010, 23:34     Вычисление факториала #4
Цитата Сообщение от asics Посмотреть сообщение
Двойной факториал:
итеративный
И снова знакомый код
asics
16.12.2010, 23:39
  #5

Не по теме:

silent_1991, эх, думал не заметиш

silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.12.2010, 23:40     Вычисление факториала #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
asics,

Не по теме:

Юху, йа сотона

Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
18.12.2010, 11:52  [ТС]     Вычисление факториала #7
а как первое задание сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
void main()
{
        const int n;
        printf(" n---->");
        scanf("%d", &n);
        srand((unsigned)time(NULL));
        int b[n];
        int i;
        printf("\nmassiv A\n");
        for(i=0;i<n;i++)
        {
            printf("%d", b[i]);
        }
    
}
вот я попробывал просто масив сделать там в заданяях ранее давались приделы для чисел а тут нет и вот когда я хочу обьявить int b[n]; ошибка выскачила значит получается когда масив обьявляю данные которые я хотел бы ввести сам из скольких элементов будет состоять масив не получается .
как же в 1 задании сделать всё это тода(

Добавлено через 15 часов 36 минут
люди человеки помогите.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
18.12.2010, 13:59     Вычисление факториала #8
Цитата Сообщение от Steam.dll Посмотреть сообщение
const int n;
printf(" n---->");
scanf("%d", &n);
Здесь ошыбка, потому что если обявявлении константы, ее нельзя никак изменять, попробуйте так

C++
1
const int n=5;
Или же используйте динамические массивы (смотреть функции malloc и free)!!!
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
20.12.2010, 13:07  [ТС]     Вычисление факториала #9
как сделать второе задание
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
void main()
{
    int n,m;
    unsigned int **a;
           srand((unsigned)time(NULL));
    int i,j,k;; 
    int x1=-50, x2=50;
    printf("Vvedite n->"); scanf("%d",&n);
    printf("Vvedite m->"); scanf("%d",&m);
    a=new unsigned int*[n];
    for(i=0;i<n;i++)
    {
        a[i]=new unsigned int[m];
    }
    printf("\n\nMASSIV A: \n");
    int a[i][j];
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            a[i][j]=int((double)rand()*(x2-x1)/RAND_MAX+x1);
            printf("%d", a[i][j]);
        }
    }
}
яя вот так попробывал не получается там сказано случайнымы числами(на картинке 2 задание) там сказано nxm от -50 до 50 случайными цыфрами int((double)rand()*(x2-x1)/RAND_MAX+x1); похоже не подходит и я запутался обьясните
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.12.2010, 13:15     Вычисление факториала #10
Steam.dll, а та не подходит?

C++
1
a[i][j]=rand()%50-50;
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
20.12.2010, 19:19  [ТС]     Вычисление факториала #11
А что значит все елепенты большие по модулю заменить на 0 . если по модулю это положительные я знаю но больше чего они если в указано в rand значения он же их привышать не будет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2010, 22:29     Вычисление факториала
Еще ссылки по теме:

Рекурсия: вычисление факториала - C++
Здравствуйте! помогите плиз новичку!!! Нужно вычислить факториал числа, полное условие задачки прилагается.

Вычисление факториала числа N - C++
Что надо написать в пропущенной строке? setlocale(LC_ALL, &quot;Russian&quot;); int N; int P=1; cout&lt;&lt;&quot;Input N: &quot;; cin&gt;&gt;N; ...

Вычисление факториала числа - C++
Маленькая программа вычисляет факториал числа, введенного пользователем, по формуле N! = N * (N – 1)!, где 0 != 1, и выводит его на экран. ...

Ввод и вычисление факториала. - C++
Помогите пожалуйста. Надо написать консольное приложение, При запуске программа просит ввести число, а после выводит его на экран. Всем...

Вычисление факториала числа (Pascal -> C++) - C++
Дано целое число N &gt; 0. Вывести произведение 1•2•...•N. Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
21.12.2010, 22:29  [ТС]     Вычисление факториала #12
Вот первое задание там факториал
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
void main()
{
        int r;
        unsigned int *b;
        printf(" Vvedite rasmer>");
        scanf("%d", &r);
        printf("\nmassiv A\n");
        for(i=0;i<r;i++)
        b[i]=new unsigned int[r];
        int  factorial2(int n)
        {
            for (i = n - 2; i >= 1; n *= i, i -= 2);
            return n == 0 ? 1 : n; 
        }
        for(int i=0;i<r;i++)
        {
            b[i]=i*(1/n);
            printf("%d", b[i]);
            
        }
    
}
вот в цыкле фор последнем так нужно писать или у меня в чём то другом ошибка b[i]=i*(1/n);
формула у меня i/i!
Yandex
Объявления
21.12.2010, 22:29     Вычисление факториала
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru