Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
C#
57 / 57 / 5
Регистрация: 09.03.2013
Сообщений: 216
1

Поиск чисел Фибоначчи, что не превышают заданное число

15.10.2013, 15:30. Показов 1607. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Знаю, что уже было и не раз.

Нашел следующие исходники.
Интерпретация:
Prolog
1
2
3
4
5
6
fib(0, 0).
fib(1, 1).
fib(N, NF) :-
    A is N - 1, B is N - 2,
    fib(A, AF), fib(B, BF),
    NF is AF + BF.
Рекурсия:
Prolog
1
2
3
fib(0, A, _, A).
fib(N, A, B, F) :- N1 is N - 1, Sum is A + B, fib(N1, B, Sum, F).
fib(N, F) :- fib(N, 0, 1, F).
Как их запустить в Turbo Prolog?
Написал так:
Prolog
1
2
3
4
5
6
7
8
9
10
11
domains
    n = number
predicates
    fib(n, n)
clauses
    fib(0, 0).
    fib(1, 1).
    fib(N, NF) :-
        A is N - 1, B is N - 2,
        fib(A, AF), fib(B, BF),
        NF is AF + BF.
Ругается на A в 9 строке - не объявленный предикат. Как его описать в разделе predicates? И что это вообще?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2013, 15:30
Ответы с готовыми решениями:

Определить номер N числа Фибоначчи, при котором сумма N первых чисел Фибоначчи превышает заданное число М
Определить номер N числа Фибоначчи, при котором сумма N первых чисел Фибоначчи превышает заданное...

Найти сумму простых чисел, которые не превышают заданное число N
Доброе время,есть такая вот задачка. Написать функцию, которая получает на вход положительное...

Напечатать все пары дружественных чисел, которые не превышают заданное натуральное число
Два натуральных числа называются * дружественными * если каждый из них равна сумме всех делителей...

В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и произведение .
В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и...

2
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
16.10.2013, 21:35 2
Prolog
1
2
3
4
5
6
7
8
9
10
11
predicates
    fib(integer, integer)
clauses
    fib(0, 0).
    fib(1, 1).
    fib(N, NF) :-
        A = N - 1, B = N - 2,
        fib(A, AF), fib(B, BF),
        NF = AF + BF.
goal
    fib(5,X), write(X).
1
C#
57 / 57 / 5
Регистрация: 09.03.2013
Сообщений: 216
16.10.2013, 23:44  [ТС] 3
Цитата Сообщение от Грымзик Посмотреть сообщение
Prolog
1
2
3
4
5
6
7
8
9
10
11
predicates
    fib(integer, integer)
clauses
    fib(0, 0).
    fib(1, 1).
    fib(N, NF) :-
        A = N - 1, B = N - 2,
        fib(A, AF), fib(B, BF),
        NF = AF + BF.
goal
    fib(5,X), write(X).
Как-то оно неверно работает.
Почему fib(3, X) возвращает 2, а fib(8, X) возвращает 21? fib(5, X) - 5...

Добавлено через 19 минут
Как вывести списком все числа Фибоначчи, что меньше указанного числа?
0
16.10.2013, 23:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2013, 23:44
Помогаю со студенческими работами здесь

Найти первое из чисел Фибоначчи, которое превосходит заданное число M
Числа Фибоначчи (Fi) определяются по формулам F(0)=1; F(1)=1; F(i)=F(i-1)+F(i-2) при i= 2, 3, ......

Вычислить сумму всех чисел Фибоначчи, которые не превышают N
Помогите решить задачу. Дано натуральное число N>10. Вычислить сумму всех чисел Фибоначчи,...

Вычислить сумму всех чисел Фибоначчи, которые не превышают N
Исправте плиз)) Дано натуральное число N>10. Вычислить сумму всех чисел Фибоначчи, которые не...

Вычислить сумму всех чисел Фибоначчи, которые не превышают n
Вот попроси ли написать несколько простых программок, алгоритм понимаю, а синтаксис вспомнить не...

Найти количество элементов массива, которые превышают заданное число
Найти количество элементов массива, которые превышают число Х, заданное пользователем. Если таких...

Вычислить сумму всех чисел Фибоначчи, которые превышают 100
Чмсла Фибоначчи определяются формулами Fo=F1=1; Fn=F(n-1)-F(n-2) при n=2,3,... Вычислить сумму всех...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru