Показать сообщение отдельно
  #2  
Старый 11.01.2013, 21:24
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MahovIV
Мне необходимо написать программу, которая вычисляет элемент последовательности Фибоначчи. Я думал сделать программу вот так:
Код:
#include <stdio.h>
#include <conio.h>

int main() {

	int T, N[40], i;
	  scanf("%d", &T);
	    while(T > 0) {
	   scanf("%d", &i);
	     for(i = 3; i <= 40; i++)
			 N[i - 2] = 0;
		 N[i - 1] = 1;
	       N[i] = N[i - 1] + N[i - 2];
	       printf("%d\n", N[i]);
	}
	getch();
	return 0;
}
Скажите, в чём ошибка?

Классический алгоритм рассчета чисел фибоначи - рекурсивный.
Код:
int fib(int N)
{
  if (N <= 2) return 1
  else return fib(N-1) + fib(N-2);
}

Кажется так...
Ответить с цитированием