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

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

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

Вычислить произведение по заданной формуле, не используя массивы (рекурсивная функция) - C++

21.10.2016, 14:47. Просмотров 122. Ответов 2
Метки нет (Все метки)

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

Рекурсивная функция для вычисления по заданной формуле - C++
Напишите функцию, вычисляющую xn без использования цикла, где n – некоторое натуральное число, вводимое в качестве аргумента функции, а...

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++
вот код...есть ещё вариант с массивом, но он тоже не работает =( тем более препод сказал, что через массив делать не стоит...=( #include...

Рекурсивная функция, не возвращающая значения, которая удаляет из заданной строки все точки - C++
плиииз...(((

Найти произведение ряда по заданной формуле - C++
Уравнение Visual Studio C++ Номер 15.

Рекурсивная функция (вычислить сумму) - C++
Помогите вычислить сумму с помощью рекурсивной функции

Найти сумму ряда по заданной формуле, используя циклы while, do while, for - C++
Сумма=1\sin1+2\sin2+3\sin3+...+n\sin n. нужно полное решение.

2
zss
Модератор
Эксперт С++
6879 / 6441 / 2155
Регистрация: 18.12.2011
Сообщений: 16,930
Завершенные тесты: 1
21.10.2016, 14:53 #2
Терпеть ненавижу рекурсивные функции, а рекуррентно получается так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double P()
{
    double w1=0.3,w2=0.5;
    double p=1.0;
    for(int i=1;i<=50;i++)
    {
           double w3=i+sin(w1)-cos(w2);
           p*=w3;
           w1=w2;
           w2=w3;
    }
    return p;
}
0
Arigato
Программист
281 / 178 / 95
Регистрация: 05.12.2013
Сообщений: 682
Записей в блоге: 5
21.10.2016, 15:02 #3
C++
1
2
3
4
5
6
7
double W(int i)
{
    if(i<1) return 0;
    if(i==1) return 0.3;
    if(i==2) return 0.5;
    return i+sin(W(i-1))-cos(W(i-2));
}
Добавлено через 6 минут
Процесс очень медленный, рекурсия и правда тут все портит.
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 "stdafx.h"
#include <iostream>
#include <cmath>
 
using namespace std;
 
double W(int i)
{
    if(i<1) return 0;
    if(i==1) return 0.3;
    if(i==2) return 0.5;
    return i+sin(W(i-1))-cos(W(i-2));
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    double p=1;
    for(int i=1;i<=50;i++){
        double w=W(i);
        p*=w;
        cout<<"W("<<i<<") = "<<w<<endl;
    }
    cout<<"P = "<<p<<endl;
    system("pause");
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 15:02
Привет! Вот еще темы с ответами:

Найти сумму ряда по заданной формуле, используя цикл for - C++
Помогите решить задачу с помощью цикла for С++ Дано вещественное число x (|x|&lt;1) и натуральное число n. Сначала выведите значение суммы...

Рекурсивная функция: вычислить среднее арефметическое элементов одномерного массива - C++
прошу помочь с программой с помощью рекурсивной функции вычислить среднее арефметическое элементов одномерного массива

Вычислить произведение по формуле - C++
2.Вычислить произведение P P=\prod_{i=1}^{5}\frac{\sqrt{i}}{\sqrt{i+1}}

Вычислить произведение по формуле - C++
C++ Cоставить программу для вычисления произведения \prod_{k=1}^{15}\left(1+e^{sin\, k} \right)\; ,\; k=3,6,9,\dots,15


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

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

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