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

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

Войти
Регистрация
Восстановить пароль
 
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
#1

Факториал Си - C++

17.10.2013, 18:47. Просмотров 982. Ответов 10
Метки нет (Все метки)

Здравствуйте. Нужно решить следующую задачку. Заранее огромное спасибо.
0
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2013, 18:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Факториал Си (C++):

Описать рекурсивные функции вещественного типа, вычисляющие факториал и двойной факториал заданного числа - C++
Описать рекурсивные функции Fact(N) и Fact2(N) вещественного типа, вычисляющие значения факториала N! и двойного факториала N!!...

С++ Факториал - C++
Надо написать программку на С++ которая вычисляет факториал числа n (факториал обозначается как n!). числа n в диапазоне от 1 до 12...

Факториал - C++
Здравствуйте Всем!!! Меня зовут Наталья. Помогите решить задание на С++: Дано натуральное число n; найти n!. Использовать программу,...

Факториал с++ - C++
1. Ввести n элементов одномерного массива; 2. Вычислить указанное выражение; 3. Вывести на экран значение указанного выражения.

Факториал - C++
Как написать программу для вычисления n факториал

Факториал - C++
Помогите написать программу: Составить функцию, которая вычисляет сумму К слагаемых. В вызывающей функции main() организовать контроль...

10
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
17.10.2013, 18:52 #2
Наверное так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main()
{
int n, summ = 0;
cin >> n;
 
for(int i=0; i<n; i++)
  summ *= 2*k;
 
cout << summ;
return 0;
}
1
Catstail
Модератор
22639 / 11007 / 1784
Регистрация: 12.02.2012
Сообщений: 18,169
17.10.2013, 19:01 #3
Не слишком рационально, но верно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
 
int main(int argc, char* argv[])
{
    long int s;
    int n,k,f,j;
 
    cout << "n=";
    cin >> n;
 
    s=1;
 
    for (k=1; k<=n; k++)
    {
        f=1;
        for (j=1; j<=2*k; j++) f*=j;
        s+=f;
    }
 
    cout << "s=" << s << endl;
    return 0;
}
2
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
17.10.2013, 19:03  [ТС] #4
SatanaXIII, огромное спасибо, что откликнулись на просьбу, но нужно сделать цикл в цикле.
for ()
{
for()
{
}
}
0
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,327
17.10.2013, 19:08 #5
Цитата Сообщение от Danechkaqwe Посмотреть сообщение
SatanaXIII, огромное спасибо, что откликнулись на просьбу, но нужно сделать цикл в цикле.
for ()
{
for()
{
}
}
Там не просто цикл в цикле требуется, а совершенно не то сделано.
1
Catstail
Модератор
22639 / 11007 / 1784
Регистрация: 12.02.2012
Сообщений: 18,169
17.10.2013, 19:13 #6
Цитата Сообщение от Danechkaqwe Посмотреть сообщение
но нужно сделать цикл в цикле.
- ты не поверишь, но можно и совсем без for:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
 
int fact(int n)
{
    return (n == 0) ? 1 : n*fact(n-1);
}
 
long int sum(int k)
{
    return (k == 0) ? 1 : fact(2*k)+sum(k-1);
}
 
int main(int argc, char* argv[])
{
    int n;
    cout << "n=";
    cin >> n;
    cout << sum(n) << endl;
    return 0;
}
1
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
17.10.2013, 19:15  [ТС] #7
Catstail, задача заключается именно в том, что бы использовать цикл в цикле.
И еще одна подасказка. Если вводишь 2, то ответ должен получится 12.
2*(2*1!)+(2*2!)=2*(2*1)+(2*1*2)=2*6=12.
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
17.10.2013, 19:16 #8
Danechkaqwe, первое что в голову пришло.
Воспользуйтесь Кошачьим стилем. Прям то, что вам надо:
C++
1
2
3
4
5
6
    for (k=1; k<=n; k++)
    {
        f=1;
        for (j=1; j<=2*k; j++) {f*=j;}
        s+=f;
    }
Добавлены недостающие скобки:
C++
1
{f*=j;}
1
Catstail
Модератор
22639 / 11007 / 1784
Регистрация: 12.02.2012
Сообщений: 18,169
17.10.2013, 19:26 #9

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
Кошачьим стилем
- спасибо, тронут!



Добавлено через 3 минуты
Цитата Сообщение от Danechkaqwe Посмотреть сообщение
Catstail, задача заключается именно в том, что бы использовать цикл в цикле.
И еще одна подасказка. Если вводишь 2, то ответ должен получится 12.
2*(2*1!)+(2*2!)=2*(2*1)+(2*1*2)=2*6=12.
- ты не прав...

http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{1}^{n}(2k)! = 2!+4!+6!+...(2n)!

В частности, при n=2, сумма получается равной 2!+4!=2+24=26


Мой код содержит небольшую ошибочку - я суммирую с нуля (у меня будет 27).
1
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 1
17.10.2013, 19:28 #10
Цитата Сообщение от FiLF Посмотреть сообщение
совершенно не то сделано
Да, какую-то хрень написал.

Цитата Сообщение от Danechkaqwe Посмотреть сообщение
2*(2*1!)+(2*2!)=2*(2*1)+(2*1*2)=2*6=12.
Вот это и то, что в формуле это разные вещи.
По формуле, при k=2 Catstail выше подсчитал.

Если же по записи, то формула будет:
http://www.cyberforum.ru/cgi-bin/latex.cgi?2*\sum_{n}^{k=1}2*(k)!
И то даже нет - надо двойку умножить только на первый элемент суммы.


Короче пойду я вообще отдохну что-то. Х)
0
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
17.10.2013, 19:31  [ТС] #11
Catstail, в таком случае, не могу описать, на сколько я благодарен вам.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2013, 19:31
Привет! Вот еще темы с ответами:

факториал - C++
найти число нулей в конце факториала числа N по основанию каждого множителя K (1&lt;=N&lt;=1000000000, 2&lt;=K&lt;=1000) #include &lt;iostream&gt; ...

Факториал - C++
Пожалуйсто, помогите написать прогу на Си, которая вичисляла бы 100! (факториал) выводя всё на экран!

Факториал (n-1)! - C++
Помогите, пожалуйста, написать факториал (n-1)! очень надо

Факториал - C++
Дано натуральное число n; найти n!. Использовать программу, включающую рекурсивную процедуру вычисления n!


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
17.10.2013, 19:31
Ответ Создать тему
Опции темы

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