Sucesion de Fibonacci:
La Sucesión de fibonacci es una sucesión infinita de números, donde cada termino esta dado por la suma de los dos anteriores, empezando en 1,1, y luego la sumas.,
1,1,2,3,5,8,13,21,34,..
y bueno sin mas redondeo aqui el código, en la compilacion ingresamos el N° de Termino que deseamos mostrar. ejemplo: fibonacci(7,X).
-
% Autor: TecGurus
-
% Fecha: 16/04/2018
-
fibonacci(0,0).
-
fibonacci(1,1).
-
fibonacci(N,Y):-N>1,
-
N1 is N–1,
-
fibonacci(N1,Y1),
-
N2 is N–2,
-
fibonacci(N2,Y2),
-
Y is Y1+Y2.
Ejercicio propuesto:
Usando recursividad, listar y sumar la serie de Fibonacci
Usaremos una regla con 3 argumentos a la que llamaremos serieFibonacci(X,L,S), donde X sera la cantidad de terminos que queremos mostrar, L la lista con los terminos y S la suma de todos los terminos.
-
% Autor: TecGurus
-
% Fecha: 29/05/2018
-
% usando recurswividad listar, sumar la serie de fibonacci
-
concatenar([],L,L).
-
concatenar([A|Ca],L2,[A|Cc]):- concatenar(Ca,L2,Cc).
-
fibonacci(0,0).
-
fibonacci(1,1).
-
fibonacci(N,Y):-N>1,N1 is N–1,fibonacci(N1,Y1),N2 is N–2,fibonacci(N2,Y2),Y is Y1+Y2.
-
serieFibonacci(0,[0],0).
-
serieFibonacci(1,[1],1).
-
serieFibonacci(Nt,L,S):- Nt>1,fibonacci(Nt,P),N1 is Nt–1,serieFibonacci(N1,Ls,Ss),concatenar(Ls,[P],L),S is Ss+P.
-
Consultamos ?- serieFibonacci(5,L,S).
Respuesta:
L=[1,1,2,3,5].
S=12.
Factorial de un numero:
-
%—– factorial ——
-
factorial(0,1).
-
factorial(N,_):- N<0,!,fail.
-
factorial(N,F):-mayor(N,0), diferencia(N,1,N1),
-
factorial(N1,F1), producto(N,F1,F).
-
mayor(X,Y):- X>Y.
-
diferencia(X,Y,Z):- Z is X–Y.
-
producto(X,Y,Z):- Z is X*Y.
Potencia de un Numero:
-
Autor: TecGurus
-
% Fecha: 17/04/2018
-
potencia(A,0,1):- A =\=0. % validamos que A se a diferente de 0 pues 0^0 es indeterminado.
-
potencia(X,Y,P ):- Y>0,Y1 is Y–1, %regla de potencia ejemplo potencia(3,2,X). Rpta=9
-
potencia(X,Y1,P1 ),
-
P is X*P1.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.
idolo
Hola muchas gracias por leernos y compartir tu opinión ?