![]() |
|
![]() ![]() ![]() |
|
ahito1 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 20.8.2007 Репутация: нет Всего: -1 |
Никак не могу построить рекурсивную функцию для вычисления n-го члена последовательности, в которой каждый четный член равен сумме двух предыдущих четных, а нечетный равен сумме двух предыдущих нечетных
|
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
Под четными и нечетными подразумеваются порядковые номера элементов в списке?
Если так, то можно четные и нечетные элементы хранить в разных списках, и тогда функция будет следующей
| - это присоединение элемента к списку head - извлечение первого элемента из списка tail - список без первого элемента |
|||
|
||||
ahito1 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 20.8.2007 Репутация: нет Всего: -1 |
помогите перевести код с джавы на пролог
public class MyClass{ public static void main(String [] args){ int nom=10; System.out.println(Rec(nom)); } public static int Rec(int n){ int result=0; if (n>4){ result = Rec(n-2) + Rec(n-4); } else{ return n; } return result; } } |
|||
|
||||
Stolzen |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
Я не очень хорошо пролог помню, но я посмотрел синтаксис в вики, и у меня получилось следующее
|
|||
|
||||
ahito1 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 20.8.2007 Репутация: нет Всего: -1 |
никак не могу заставить Visual Prolog запустить его:( |
||||
|
|||||
ahito1 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 20.8.2007 Репутация: нет Всего: -1 |
для чисел фибоначи
f(1,1) :– !. % Первое число есть1 f(2,1) :– !. % Второе число есть2 f(I,R) :– I>2, I1=I–1, I2=I–2, f(I1,M), f(I2,N), R=N+M. % общий случай а для моего случая никак не могу написать, не работает: class predicates f : (integer I, integer R) nondeterm anyflow. clauses f(1,R) :- R=1. f(2,R) :- R=2. f(3,R) :- R=3. f(4,R) :- R=4. f(I,R) :- I>4, I1=I-2, I2=I-4, f(I1, M), f(I2, N), R=N+M. |
|||
|
||||
ahito1 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 20.8.2007 Репутация: нет Всего: -1 |
ПОБЕДА!!! заработало! если кому нужен код, кину
|
|||
|
||||
![]() ![]() ![]() |
Правила форума Prolog | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Prolog | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |