0 / 0 / 1
Регистрация: 05.10.2012
Сообщений: 20
1

Сумма четных из первых N чисел Фибоначчи

01.06.2014, 14:07. Показов 3878. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста с задачей: Дано число. Проверить, является ли оно суммой четных чисел из n первых чисел Фибоначчи. Найти число n
Prolog
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
fib2(N, FIB):-fib2(N, FIB, 1, 1, 0).
fib2(N, FIB, I, PR1, PR2):-
    I<N,
    I1 is I+1,
    FIB1 is PR1+PR2,
    fib2(N, FIB, I1, FIB1, PR1).
fib2(N, FIB, N, FIB, _).
chet(X):-F is X mod 2, F == 0.
sum_chet(N, A):-sum_chet(N, A, 0, 0).
sum_chet(N, A, I, SUM):-
    I<N,
    I1 is I + 1,
        fib1(I1, FIBNUM),
    ( chet(FIBNUM) -> SUM1 is SUM + FIBNUM ; SUM1 is SUM ),
    sum_chet(N, A, I1, SUM1).
sum_chet(N, A, N, A).
check_num1(NUM, N):-check_num1(NUM, N, 0, 0).
check_num1(NUM, N, ANS, I):-
    ANS =< NUM,
    I1 is I+1,
    sum_chet(I1, ANS1),
    ( ANS1 == NUM -> ANS2 is NUM+1,
    write('Yep, this is a sum of EVEN Fibonacci numbers!'); ANS2 is ANS1 ),
    check_num1(NUM, N, ANS2, I1).
check_num1(_, N, _, N).
Нужно что бы выводило номер на котором будет как раз будет сумма числа. Например для 44 это будет 10. Но и еще что бы выводило позиции до следующего четного числа. Т.е. вводим S=44, а в ответе выдало 10,11,12
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2014, 14:07
Ответы с готовыми решениями:

Вычисление чисел Фибоначчи и номера числа Фибоначчи с накопителями
Требуется три накопителя - текущий номер, само число Фибонначи и предыдущее число...

Сумма первых 15 нечетных чисел Фибоначчи с первыми 5 четными числами Фибоначчи
Ребята вообщем такое задание :Напишите программу для вычисления сумму первых 15 нечетных чисел...

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

Составить программу поиска первых n четных чисел (n - с клавы), в последовательности чисел Фибоначчи
Нужно составить программу используя do while. У меня не получается, это всё что смог написать. ...

3
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 2
22.09.2016, 09:17 2
Все правильно у тебя))) Замени fib1 на fib2

Prolog
1
2
3
4
5
6
sum_chet(N, A, I, SUM):-
    I<N,
    I1 is I + 1,
        fib1(I1, FIBNUM),                                                             /* вот тута<-----------------------
    ( chet(FIBNUM) -> SUM1 is SUM + FIBNUM ; SUM1 is SUM ),
    sum_chet(N, A, I1, SUM1).
0
Фрилансер
3703 / 2075 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
22.09.2016, 10:34 3
Ошибка при выводе
0
0 / 0 / 0
Регистрация: 06.11.2015
Сообщений: 2
22.09.2016, 10:55 4
Наверно не правильно задаешь вопрос, у меня работает, напиши что посылаешь на запрос?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2016, 10:55
Помогаю со студенческими работами здесь

сумма первых n чисел Фибоначчи
По какой формуле можно вычислить сумму первых n чисел Фибоначчи?

Сумма n первых чисел Фибоначчи
Сами числа Фибоначчи есть, #include &lt;iostream.h&gt; int main() { int n; int...

Сумма первых n членов чисел Фибоначчи
Написать рекурсивную функцию нахождения суммы n первых членов чисел Фибоначчи Функцию нахождения...

Сумма первых n чисел ряда Фибоначчи
Помогите, пожалуйста, написать простую прогу, которая считает сумму первых n чисел ряда Фибоначчи....


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

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

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