【问题标题】:prolog program for sum of all even fibonacci numbers below 4000000低于 4000000 的所有偶数斐波那契数之和的 prolog 程序
【发布时间】:2021-02-22 15:57:26
【问题描述】:

我需要 prolog 中的解决方案。我正在尝试但没有得到正确的答案。 请提供正确的代码解决我的问题。

A(1).
B(1).
Value(0).
fib(N, Value) :-
  A is N <= 4000000, fib(A, A1),
  B is N % 2 == 0, fib(B, B1):-
 
  Value is +=A &&
  A,B = B, A1+B1.
  print Value.

【问题讨论】:

  • 首先从编写简单的 Prolog 程序开始。甚至语法都不好。
  • 这是我的任务,我需要一个解决方案
  • 就像你自己说的,需要解决这个问题。
  • @JamesZ 我在 python 中解决了这个问题,但在使用 Prolog 时遇到了困难。
  • 但这是你的任务,你将如何解决它?

标签: prolog fibonacci


【解决方案1】:
test2:-
    writeln("problem2(4000000,2,4613732) should be true."),
    time(problem2(4000000,2,4613732)).

problem2(B,M,S5):-
    [B,M] ins 1..sup,
    genfib(0,1,B,LF),
    include({M}/[X2]>> #=(mod(X2,M),0),LF,LN),
    sum_list(LN,S5).

genfib(N1,N2,B,[N|LF]):-
   N #= N1+N2,
  `N #=< B,`
    genfib(N2,N,B,LF),
    !.
genfib(_,_,_,[]).

【讨论】:

    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2016-04-07
    • 2015-11-12
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    相关资源
    最近更新 更多