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

Считать n и вычислить значение следующего выражения - C++

Восстановить пароль Регистрация
 
Osmium
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 18
11.10.2012, 16:25     Считать n и вычислить значение следующего выражения #1
Всем привет. Помогите пожалуйста с задачкой на С++. Только начал осваивать этот язык.
Считать n и вычислить значение следующего выражения:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\cos(1 + \cos(2 + \, \dots \, + \cos(n - 1 + \cos n)) \ldots ))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
12.10.2012, 11:00     Считать n и вычислить значение следующего выражения #2
C++
1
2
cin>>n;
cout<<cos(1 + cos(2 + ... + cos(n - 1 + cos(n)) ... ))<<endl;
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.10.2012, 14:23     Считать n и вычислить значение следующего выражения #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
double rec(int a, int n)
{
    if(a==n)
        return cos((double)n);
    return cos((double)a+rec(a+1,n));
}
int main()
{
    int n;
    cin>>n;
    cout<<rec(1, n)<<endl;
    return 0;
}
Osmium
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 18
12.10.2012, 21:37  [ТС]     Считать n и вычислить значение следующего выражения #4
valeriikozlov
Спасибо большое, но не могли бы Вы поподробнее описать алгоритм выполнения программы? (дать комментарии к строкам). Пожалуйста.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.10.2012, 05:37     Считать n и вычислить значение следующего выражения #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cmath>
using namespace std;
double rec(int a, int n)// рек. функция. в параметрах переменная a - сколько вызовов уже сделано, и переменная n - сколько вызовов нужно сделать
{
    if(a==n)
        return cos((double)n);
    return cos((double)a+rec(a+1,n));// если a меньше n то делаем вызов рек функции
}
int main()
{
    int n;
    cin>>n;// считываем значение в переменную n
    cout<<rec(1, n)<<endl;// вызываем рекурсивную функцию rec() и выводим на экран возвращаемое значение
    return 0;
}
Yandex
Объявления
13.10.2012, 05:37     Считать n и вычислить значение следующего выражения
Ответ Создать тему
Опции темы

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