Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8

Вычислить значение функции (итерация и рекурсия)

05.01.2011, 13:01. Показов 778. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужна прога в которой реализованы 2 метода- итерационный и рекурсивный.
Способ вычисления (итерационный или рекурсивный) пользователь выбирает сам в процессе работы программы.
Вычислить для заданного пользователем N значение функции:

https://www.cyberforum.ru/cgi-bin/latex.cgi?F\left(N \right)=\begin{cases}N^2 & \text{ , } N \lt 10 \\F\left(N-1 \right)^2+F\left(N-2 \right)^2 & \text{ , } N \ge 10\end{cases}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2011, 13:01
Ответы с готовыми решениями:

Вычислить значение выражения (рекурсия/итерация)
Вычеслить y(n)= 1/n+1/(n-1)+1/(n-2)+1/...+1/1+1дробь2 Решит с использыванием рекурсии и без нее

Рекурсия/итерация: вычислить а в степени n
нужна помощь, как вычислить а в степени n, т.е написать программу использую две функции рекурсивную...

Реверс цифр длинных чисел одномерного массива (итерация и рекурсия)
Разработать функцию, которая переставляет в обратном порядке цифры заданного длинного целого числа...

7
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
05.01.2011, 21:07
Цитата Сообщение от LK Посмотреть сообщение
Кому нужна ? Мне - нет.
Давайте на будущее: Если у вас нет сообщений по теме - проходим мимо.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.01.2011, 01:06
Цитата Сообщение от raal Посмотреть сообщение
Мне нужна)
а почему по этому поводу замечаний нет , уважаемый MikeSoft ?
Мое замечание подразумевало то, что в первых пунктах правил любого форума, о чем постоянно твердят на всех форумах в подобном случае , и что очень плохо доходит к некоторым участникам
1. Попытайтесь хоть что-нибудь сделать сами .
2. Не получается - спросите совета.
3. Не хотете делать сами - обращайтесь в платный отдел.
И сие не есть пререкание с "уважаемой администрацией" , а совет участнику, как поступить в русле обсуждаемого вопроса.


 Комментарий администратора 
нечего сказать - проходим мимо!
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.01.2011, 01:52
Вобщем то согласен с LK. Чтобы мотивировать топиккастера, приведу один из вариантов рекурсивного решения задачи для F(N<10) = N^2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int foo(int num, int count);
 
void main()
{
    int n;
    cout << "Enter number: ";
    cin >> n;
    cout << "The answer is: ";
    cout << foo(n,n);
}
 
int foo(int num, int count)
{
    return count == 0?0:num+foo(num,--count);
}
1
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 8
09.01.2011, 15:18  [ТС]
Сделал прогу в билдере а считает бред что здесь не так не пойму...

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{ }
//---------------------------------------------------------------------------
double recursia(double N)
{
    if (N<10) return N*N;
    else return recursia(N-1)+recursia(N-2);
}
//---------------------------------------------------------------------------
double iteracii(double N)
{
double result;
if (N<10)
return N*N;
        else
        {
        int f_pr=81;
        int f_prev=64;
        for(int i=10;i<=N;i++)
                {
                result=f_pr*f_pr+f_prev*f_prev;
                 f_prev=f_pr;
                 f_pr=result;
                }
        return result;
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    double n;
    n = StrToInt(Edit1->Text);
    if (RadioButton1->Checked) Label2->Caption=iteracii(n);
    if (RadioButton2->Checked) Label2->Caption=recursia(n);
}
//---------------------------------------------------------------------------
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
09.01.2011, 21:05
C++
1
2
3
4
5
double recursia(double N)
{
    if (N<10) return N*N;
    else return recursia(N-1)+recursia(N-2);
}
Для чисел меньше 10, ф-ция будет возвращать квадрат числа, без использования рекурсии.
Для числа 11 же, вернет 10*10+9*9.
Для 12 -- (10*10 + 9*9) + (10*10)
Для 13 -- ( (10*10 + 9*9) + (10*10) ) + (10*10+9*9)
Непонятно что ф-ция должна выполнять.
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
12.01.2011, 04:32
Чтобы решить ту часть где N>10, можно пользоваться ф-цией для N<10
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 47
12.01.2011, 08:31
Цитата Сообщение от LK Посмотреть сообщение
а почему по этому поводу замечаний нет , уважаемый MikeSoft ?
Мое замечание подразумевало то, что в первых пунктах правил любого форума, о чем постоянно твердят на всех форумах в подобном случае , и что очень плохо доходит к некоторым участникам
1. Попытайтесь хоть что-нибудь сделать сами .
2. Не получается - спросите совета.
3. Не хотете делать сами - обращайтесь в платный отдел.
И сие не есть пререкание с "уважаемой администрацией" , а совет участнику, как поступить в русле обсуждаемого вопроса.


нечего сказать - проходим мимо!
полностью согласен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2011, 08:31
Помогаю со студенческими работами здесь

Найти первые N чисел Фибоначчи (рекурсия/итерация, сравнить эффективность)
Найти первые N чисел Фибоначчи двумя способами: с помощью рекурсии и с помощью итерации. Сравнить...

Вычисление значения функции. Итерация
Составить программу вычисления значения функции, представляется в ввиде бесконечного ряда с...

Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++)
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real;...

Переписать рекурсивно итерационную функцию.
Кто может записать эту итерационную функцию: double norek(double a, double b, double e){ double...

В заданной программе сделать вместо рекурсивной функции - итерационную
Здравствуйте. Помогите разобраться как в следующей программе сделать вместо рекурсивной функции -...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru