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

Рекурсивно вычислить сумму квадратов тех чисел, не превосходящих двух - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не могу создать специализацию шаблона ф-ции http://www.cyberforum.ru/cpp-beginners/thread1492531.html
Добрый день! Помогите с такими вопросом, не получается создать явную специализацию шаблона , при компиляции кидает с ошибкой в шаблон т.к., он не подходит под вызываемую ф-цию #include <iostream> using namespace std; struct box // структура { char maker; float h; float w; float l;
C++ Добавление элемента в указанное место Односвязный не сортированный список Мой код #include <stdio.h> #include <stdlib.h> #include "malloc.h" #include "locale.h" struct stack { int info; http://www.cyberforum.ru/cpp-beginners/thread1492527.html
C++ Возможно ли запустить приложение в linux?
Я пишу в VS 2013 Ниже простой код web-сервера полностью скопированного из примера Смогу ли я его потом скомпилировать и запустить на linux? Если нет, то как переносить код на другую платформу? #include <iostream> #include <sstream> #include <string> #include <WinSock2.h>
C++ Рекурсивная функция, возвращающая указатель на объект
Есть рекурсивная функция (заполняющая двоичное дерево) Node* fill(int i){ //Возвращаемое значение ????? Node node(lines.key); //создали элемент на индексе if(lines.left){ node.addLeft(fill(lines.left)); } if(lines.right){ node.addRight(fill(lines.right)); }
C++ Потоки и сокрытие данных http://www.cyberforum.ru/cpp-beginners/thread1492476.html
Всем доброго времени суток. Появился вопрос, касающийся потоков. Есть класс, в котором имеются функции для вывода внутренних данных в поток. Всё работает, но функция вывода является дружественной и возвращает поток вывода, чтобы обеспечить каскадные вызовы. Тогда, если я правильно понимаю, эта функция становится глобальной и доступной пользователю класса. Как обеспечить каскадные вызовы и...
C++ Машинное представление графов 1 курс. Практика Задание такое: Разработать и реализовать windows - приложение, которое определяет, является ли бинарное отношение, заданное орграфом симметричным и рефлексивным. Граф задан матрицей смежности. Предусмотреть возможность ввода матрицы смежности в клавиатуры из текстового файла. можно делать как си++, так и в паскале, делфи и пр. Помогите, хотя бы с алгоритмом:С подробнее

Показать сообщение отдельно
Krasiosoft
 Аватар для Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
03.07.2015, 21:28     Рекурсивно вычислить сумму квадратов тех чисел, не превосходящих двух
Цитата Сообщение от NimbJles Посмотреть сообщение
чтобы программа правильно вычисляла
Возможно, проблема в: pow(-sin(1), 2), скорее всего, нужно -pow(sin(1), 2)

Добавлено через 1 час 51 минуту
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
C++
1
2
3
4
5
double rekyrsia(int k){
  if (k==0) return pow(cos(1), 2);
  if (k==1) return pow(-sin(1), 2);
  return 2*rekyrsia(k-1)-rekyrsia(k-2);
}
Это не есть правильный подход для решения такой задачи.
При таком подходе, чтоб посчитать а20, нужно будет 21891 раз вызвать функцию rekyrsia, а21 - 35421 и а22 - 57313.

Правильнее будет что-то подобное:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double rekyrsia( double a1, double a2, int k){
    if(k<=0){
        return 0;
    }
    double sum=rekyrsia(a2,2*a2-a1,k-1);
    if(a2<=2){
        sum+=pow(a2,2);
    }
    return sum;
}
 
// считает сумму квадратов, которые не превосходят двух, начиная от а1 и до ak включительно
double summ(int k){
    return rekyrsia( pow(cos(1), 2), -pow(sin(1), 2) , k );
}
 
int _tmain(int argc, _TCHAR* argv[]){
    printf("Result = %lf\n", summ(100) );
}
Тут вызовов rekyrsia будет k+1
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru