|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
Результаты опроса: Актуальна ли эта тема? | |||
Да | 2 | 66.67% | |
Нет | 1 | 33.33% | |
Голосовавшие: 3. Вы еще не голосовали в этом опросе |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Числа Фибоначчи
Мне необходимо написать программу, которая вычисляет элемент последовательности Фибоначчи. Я думал сделать программу вот так:
Код:
#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; } |
#2
|
|||
|
|||
Цитата:
Классический алгоритм рассчета чисел фибоначи - рекурсивный. Код:
int fib(int N) { if (N <= 2) return 1 else return fib(N-1) + fib(N-2); } Кажется так... |
#3
|
||||
|
||||
И где хоть что-то, связанное с числами фибоначчи, и что хоть вводится?
Код:
a1 = 0; a2 = 1; for (int i = 0; i < needed; ++i) { int t = a1 + a2; a1 = a2; a2 = t; } jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 11.01.2013 в 21:36. |
#4
|
|||
|
|||
Цитата:
|
#5
|
||||
|
||||
И кстати для больших чисел будет удобнее так:
Код:
const int fi = 1,6180339887498948482045868343656 int f = (int)((pow(fi, n) - (pow(-fi, -n)))/(2*fi-1) + 0.5); jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 11.01.2013 в 21:50. |
#6
|
|||
|
|||
Я изменил программу вот так:
Код:
#include <stdio.h> #include <conio.h> int main() { int T, N[40], i; scanf("%d", &T); while(T > 0) { scanf("%d", &i); for(i = 1; i <= 40; i++) { N[0] = 0; N[1] = 1; N[i] = N[i - 1] + N[i - 2]; printf("%d\n", N[i]); } T--; } getch(); return 0; } |
#7
|
||||
|
||||
А кто предварительно переменные инициализировать будет? Они локальные, а значит там "мусор".
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#8
|
|||
|
|||
Цитата:
|
#9
|
||||
|
||||
В С вроде так:
Код:
int T=0, N[40]=0, i; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
||||
|
||||
Цитата:
А также не пойму смысла массива вообще, когда задача решается без него. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 12.01.2013 в 12:33. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
MahovIV (15.01.2013)
|
#11
|
|||
|
|||
Цитата:
|
#12
|
||||
|
||||
Без массива она решается быстрее. Гораздо. Как я показывал. И без рекурсии. И экономнее в памяти.
jmp $ ; Happy End! The Cake Is A Lie. |
#13
|
|||
|
|||
Цитата:
|