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

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

Войти
Регистрация
Восстановить пароль
 
Blizardo
2 / 2 / 0
Регистрация: 08.09.2013
Сообщений: 103
#1

Вычислить произведение - C++

09.06.2015, 14:05. Просмотров 243. Ответов 9
Метки нет (Все метки)

http://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
P=\prod_{i=1}^{13}\frac{\left(i+1 \right)i\,!}{\sqrt{i}}<br />

задание и код
Не уверен в логике , выдает ответ 0 , а в Паскале это же задание выдает ответ бесконечность

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i,x,fact,p,j;
p=1;
for (i=1; i<=13; i++)
{
    fact=1;
    x=(i+1)*i;
    for (j=1; j<=x; j++)
    { p=p*(fact/pow(i,1.0/2)); }
}
cout<<"\nP="<<p;
 
system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2015, 14:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить произведение (C++):

Вычислить произведение отрицательных элементов и произведение положительных элементов последовательности - C++
В последовательности действительных чисел a1,a2,...,an есть только положительные и отрицательные элементы. Вычислить произведение...

Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D - C++
В последовательности действительных чисел есть только положительные и отрицательные элементы. Вычислить произведение отрицательных...

Вычислить произведение - C++
В лабораторной 3 задания! 2 я уже сделала, а вот в 3 не могу понять что нужно делать! Подскажите пожалуйста, желательно еще и помочь с...

Вычислить произведение - C++
Вот на паскале и с++ коды. с++ выдает не верный результат. Почему? Посчитать нужно a*(a+1)*....*(a+n-1). var a,p:real; ...

Вычислить произведение - C++
Дано целое число n, вещественное число b. b(b+1)(b+2)...(b+n-1)(b+n). Сделать нужно на С++. Буду очень признателен!! Мужики, спасайте!

Вычислить произведение Р - C++

9
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,577
09.06.2015, 14:33 #2
Blizardo, а вы на бумажке посчитайте и скажите,может 0 получиться или нет

дам подсказку: не следует помещать в целочисленную переменную не целочисленное значение и ожидать правильной работы.
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
09.06.2015, 14:34 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    double p=1.0;
    double fact=1.0;
    for (int i=1; i<=13; i++)
    {
        fact*=i;
        double an=(i+1.0)/sqrt(double(i))*fact;
        p*=an;
    }
    cout<<"\nP="<<p<<endl;
    system("pause");
    return 0;
}
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,577
09.06.2015, 14:39 #4
zss, можно без дополнительной переменной и явного преобразования в double:
C++
1
p*=(i+1.0)/sqrt(i)*fact;
и надо подключить заголовочный файл для мат. функций:
C++
1
# include <cmath>
0
Blizardo
2 / 2 / 0
Регистрация: 08.09.2013
Сообщений: 103
09.06.2015, 14:57  [ТС] #5
Если не сложно , можешь целиком код скинуть , буду очень признателен.
А то мозг кипит с этим факториалом
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
09.06.2015, 15:42 #6
Цитата Сообщение от S_el Посмотреть сообщение
можно без дополнительной переменной
А где Вы собираетесь хранить рекуррентно вычисленное значение факториала?

Добавлено через 1 минуту
Цитата Сообщение от Blizardo Посмотреть сообщение
целиком код
А чего еще не хватает? По моему - все что надо считается.

Добавлено через 1 минуту
Цитата Сообщение от S_el Посмотреть сообщение
и явного преобразования в double
Нет такой функции sqrt(int). Есть sqrt(float), sqrt(double)
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,577
09.06.2015, 15:45 #7
Цитата Сообщение от zss Посмотреть сообщение
А где Вы собираетесь хранить рекуррентно вычисленное значение факториала?
Я про double an.И привел вычисление для p без её использования.

Цитата Сообщение от zss Посмотреть сообщение
Нет такой функции sqrt(int). Есть sqrt(float), sqrt(double)
int прекрасно неявно приведется к double.
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
09.06.2015, 15:52 #8
Цитата Сообщение от S_el Посмотреть сообщение
int прекрасно неявно приведется к double
Не приведется, компилятор сообщит, что не знает, какую из функций вызывать с float или с double

Добавлено через 1 минуту
Цитата Сообщение от S_el Посмотреть сообщение
Я про double an
Здесь an имеет осмысленный контекст - n-й член последовательности.
Поэтому ее надо ввести хотя бы из удобочитаемости.
0
S_el
2113 / 1633 / 308
Регистрация: 15.12.2013
Сообщений: 6,577
09.06.2015, 16:33 #9
Цитата Сообщение от zss Посмотреть сообщение
Не приведется, компилятор сообщит, что не знает, какую из функций вызывать с float или с double
Прекрасно компилируется:
http://ideone.com/fSWNQv

Цитата Сообщение от zss Посмотреть сообщение
Поэтому ее надо ввести хотя бы из удобочитаемости.
Согласен,поэтому написал можно,а не нужно.
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,867
Завершенные тесты: 1
09.06.2015, 17:05 #10
Компилятор компилятору рознь. Любой Си должен компилировать, С++ может, но не обязан.
У меня в Vs2008 не компилирует
0
09.06.2015, 17:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2015, 17:05
Привет! Вот еще темы с ответами:

Вычислить произведение, - C++
вообщем вот, кто знает тот поймет

Вычислить произведение - C++
задан три целых числа Вычислить произведение двух наименьших из них

Вычислить произведение - C++
Вычислить произведение P = 3 * 6 * ... * (3n).

Вычислить произведение - C++
Вычислить произведение С++


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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