• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Рекурсивный И Итеративный Метод

  • Автор темы diaryofsummer
  • Дата начала
D

diaryofsummer

помогите пожалуйста написать программу для итеративного способа вычисления.
нужно вычислить элементы последовательности

a(n) = a(n div 2) + a(n div 3), n>1
a(0)=1

я написал программу для рекурсии, а как через цикл задать не могу сообразить...

C++:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;

int formula(int n)
{
if (n<0)
{
cout<<"error";
getch();
exit(1);
}

if (n==0) return 1;
return formula(n/2)+formula(n/3);
}

int _tmain(int argc, _TCHAR* argv[])
{
int n;
int i;
cout<<"n = ";
cin>>n;
cout<<" = "<<formula(n);

getch();
return 0;
}
 
W

Whatka

вообще рекурсия решается (преобразовывается)так ,
чтобы энный эллемент выражался через известный (нулевой в данном случае)

и тогда цикл пишется очень просто
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!