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

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

diaryofsummer

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

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

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

и тогда цикл пишется очень просто