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

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

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

C++ Факториал
C++ факториал
C++ Факториал (n-1)!
факториал в с++ C++
C++ Факториал
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 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
Модератор
 Аватар для Catstail
21504 / 10257 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
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
52 / 52 / 15
Регистрация: 05.09.2013
Сообщений: 1,106
17.10.2013, 19:08     Факториал Си #5
Цитата Сообщение от Danechkaqwe Посмотреть сообщение
SatanaXIII, огромное спасибо, что откликнулись на просьбу, но нужно сделать цикл в цикле.
for ()
{
for()
{
}
}
Там не просто цикл в цикле требуется, а совершенно не то сделано.
Catstail
Модератор
 Аватар для Catstail
21504 / 10257 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
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
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 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
Модератор
 Аватар для Catstail
21504 / 10257 / 1670
Регистрация: 12.02.2012
Сообщений: 17,143
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
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 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++ Факториал
факториал С++ C++
Факториал C++

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

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

Текущее время: 09:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru