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

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

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

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

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

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

факториал С++ - C++
Ребята, помогите пожалуйста с факториалом, а то я все не могу понять как сделать так что-бы k1 - факториал, от k до n #include...

факториал - C++
#include <iostream> using namespace std; size_t fact(size_t n) { if(n==0) return 1; return n*fact(n-1); } int...

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

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

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

Факториал - C++
Имеется код: #include <iostream> using namespace std; long long fact(int a); int main() { long long int N;

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 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;
}
Catstail
Модератор
22451 / 10856 / 1769
Регистрация: 12.02.2012
Сообщений: 17,975
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;
}
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
17.10.2013, 19:03  [ТС]     Факториал Си #4
SatanaXIII, огромное спасибо, что откликнулись на просьбу, но нужно сделать цикл в цикле.
for ()
{
for()
{
}
}
FiLF
53 / 53 / 15
Регистрация: 05.09.2013
Сообщений: 1,327
17.10.2013, 19:08     Факториал Си #5
Цитата Сообщение от Danechkaqwe Посмотреть сообщение
SatanaXIII, огромное спасибо, что откликнулись на просьбу, но нужно сделать цикл в цикле.
for ()
{
for()
{
}
}
Там не просто цикл в цикле требуется, а совершенно не то сделано.
Catstail
Модератор
22451 / 10856 / 1769
Регистрация: 12.02.2012
Сообщений: 17,975
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;
}
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.
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 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;}
Catstail
Модератор
22451 / 10856 / 1769
Регистрация: 12.02.2012
Сообщений: 17,975
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).
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 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)!
И то даже нет - надо двойку умножить только на первый элемент суммы.


Короче пойду я вообще отдохну что-то. Х)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2013, 19:31     Факториал Си
Еще ссылки по теме:

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

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

факториал - C++
Задача: написать 3 функции, считающие факториал неотрицательного целого числа от 0 до 170 3 способами: - с помощью цикла - рекурсивно...

факториал в С++ - C++
Как найти факториал с помощью рекурсивной функции?

Факториал - C++
Задано целое положительное число n. Определить значение выражения: P=\frac{\sum_{i=0}^{n-1}i+1}{(2n)!} Вот код программы: ...


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

Или воспользуйтесь поиском по форуму:
Danechkaqwe
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 8
17.10.2013, 19:31  [ТС]     Факториал Си #11
Catstail, в таком случае, не могу описать, на сколько я благодарен вам.
Yandex
Объявления
17.10.2013, 19:31     Факториал Си
Ответ Создать тему
Опции темы

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