1 / 1 / 1
Регистрация: 18.06.2012
Сообщений: 9
1

Числа Фибоначчи. Рекурсия

18.06.2012, 08:40. Показов 2087. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу решающую разностное уравнение формирующую числа Фибонначи. Числа формируются по след. закону: a(i)=a(i-2)+a(i-1) с начальным условием a1=0, a2=1. Вычисление организовать в рекурсивной процедуре. Счет остановить при таком i, что число ai, не помещяется в двойное слово (4 байта). Вывести на экран и в файл это i, и набор чисел в двоичной форме...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2012, 08:40
Ответы с готовыми решениями:

Рекурсия: составьте рекурсивную программу вычисления числа n Фибоначчи
1. составьте рекурсивную программу вычисления числа n Фибоначчи 2. составьте рекурсивную...

Рекурсия: вычисление чисел Фибоначчи на рекурсивном спуске методом подстановки
var a,b,c,n:integer;{n-член последоват.фибоначчи} function fib(a,b,c,n:integer):integer; var...

Записать в ряд все числа Фибоначчи, не превосходящие целого положительного числа n
type ряд=file of l..maxint; Описать процедуру fib(f,n), записывающую в ряд f все числа Фибоначчи...

Рекурсия - числа Фибоначчи
Вычисление n -го чмсла фибоначчи, исходя из реккурентного определения этих чисел: каждое...

2
Ушел с форума
Автор FAQ
16216 / 7546 / 1048
Регистрация: 11.11.2010
Сообщений: 13,557
18.06.2012, 09:19 2
Dimaw90,
сделай поиск по форуму по ключевым словам "Фибонначи Assembler"
0
1 / 1 / 1
Регистрация: 18.06.2012
Сообщений: 9
18.06.2012, 21:45  [ТС] 3
Лучший ответ Сообщение было отмечено Dimaw90 как решение

Решение

мне надо паскаль.

Добавлено через 3 часа 28 минут
Pascal
1
2
3
4
5
6
7
8
9
program fibonachi;
 
function fib(a:integer): integer;
begin
    if (a <= 2) then
        fib := 1
    else
        fib := fib(a-1) + fib(a-2);
end;
как сделать так, что бы это всё дело переводилось в 2 систему и сравнивалось?

Добавлено через 12 минут
Можно просто алгоритм подсказать.

Добавлено через 5 часов 7 минут
Pascal
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
program hyj;
 
function fib(a:integer): integer;  {процедура}
begin
    if (a <= 2) then
        fib := 1
    else
        fib := fib(a-1) + fib(a-2);
        
end;
const n=32;
var
    i,a,b,k,j:integer;
    m:array[1..n] of integer;
    F:text;
    st:integer ;
begin
{assign(F,'D:\F.txt');
rewrite(F);}    {пока не доделано}
  while (a<4294967295) do
    begin
    i:=i+1;
    k:=fib(i);
      while(k>=1) do             {перевод в двоичную систему}
       begin
       j:=j+1;
       m[j]:=k mod 2;
       k:=k div 2;
       end;
      b:=j;
     for j:=b downto 1 do
     begin
     write(m[i]:3);
     end;
end;
end.


Хелп. Выводит неверные числа в 2 системе.

Добавлено через 44 минуты
Всё, сам исправил.

Добавлено через 2 часа 25 минут
Pascal
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
47
48
49
50
program hyj;
uses crt;
function fib(i:integer): integer;
begin
    if (i = 0) then
        fib :=0
    else
        begin
          if (i <= 2) then
             fib := 1
          else
             fib := fib(i-1) + fib(i-2);
        end;
end;
const n=32;
var
    i,b,k,z:integer;
    j:integer;
    m:array[1..n] of integer;
    F:text;
begin
  assign(F,'D:\Êóðñîâàÿ.txt');
  rewrite(F);
  while (z<4294967295) do
    begin
    z:=fib(i);
    i:=i+1;
    k:=z;
    j:=0;
      repeat
        j:=j+1;
        m[j]:=k mod 2;
        k:=k div 2;
      until(k<1);
    b:=j;
      for j:=b downto 1 do
        begin
          write(m[j]:1);
          write(F,m[j]);
        end;
      writeln(' ');
      writeln(F,'  ');
    end;
 
 
 
  writeln('i=',i);
  writeln(F,i);
  close(F);
end.
Добавлено через 37 секунд
Считает больше на одно число чем надо. Выручите....

Добавлено через 7 минут
Идеи просто кончились =)

Добавлено через 13 минут
Исправил. Всё работает.
1
18.06.2012, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2012, 21:45
Помогаю со студенческими работами здесь

Рекурсия и последовательность Фибоначчи
Помогите пожалуйста решить задачи, срочно нужно! Заранее спасибо! 1.Используя рекурсивные формулы...

Рекурсия: нахождение n-го члена последовательности Фибоначчи
Помогите пожалуйста!!! надо решить задачу с помощью рекурсии! Найти n-й член Фибоначчи используя...

Составьте программу, позволяющую найти все числа Фибоначчи, меньшие заданного числа N
В 1202г. Итальянский математик Леонард Пизанский (Фибоначчи) предложил такую задачу: пара кроликов...

Определить все числа Фибоначчи для заданного числа N
условие задачи! В 1202 г. итальянский математик Леонард Пизанский (Фибоначчи) предложил...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru