Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

1. Factorial 6.

Remove Nth Element from List


fact(0,1). remove_nth([_|T],1,T).
fact(N,F):- remove_nth([H|T],N,[H|R]):-
N>0, N >1,
N1 is N-1, N1 is N-1,
fact(N1,F1), remove_nth(T,N1,R).
F is F1*N.

7. Sum of List
2. Fibonacci sum_list([], 0).
fibo(0,0). sum_list([Head | Tail], Sum) :-
fibo(1,1). sum_list(Tail, SubSum),
fibo(N,F):- Sum is Head+SubSum.
N>1,
N1 is N-1,
N2 is N-2, 8. Max in List
fibo(N1,F1), maxlist([X], X).
fibo(N2,F2), maxlist([X | Rest], Max) :-
F is F1+F2. maxlist(Rest, MaxRest),
Max is max(X, MaxRest).

3. GCD&LCM
gcd(X,Y,G):- X=Y, G=X. 9. Reverse the given List
gcd(X,Y,G):- X<Y, Y1 is Y-X, reverse_list([], []).
gcd(X,Y1,G). reverse_list([Head | Tail], Reversed) :-
gcd(X,Y,G):- X>Y, gcd(Y,X,G). reverse_list(Tail, ReversedTail),
lcm(X,Y,R):- gcd(X,Y,G), R is X*Y//G. append(ReversedTail, [Head],Reversed).

4. Palindrome 10. Count the lost element


pal([]). count_elements([], 0).
pal([_]). count_elements([_ | Tail], Count) :-
pal([X|Xs]):- count_elements(Tail, SubCount),
append(Mid,[X], Xs), Count is SubCount + 1.
pal(Mid).

11. Sum of Factorial


5. Append or Add Two List fact(0,1).
append([],L,L). fact(N,F):-
append([H|T],L,[H|R]):- N>0,
append(T,L,R). N1 is N-1,
fact(N1,F1),
F is F1*N.
sumfact(A,B,S):-
fact(A,FactA),
fact(B,FactB),
S is FactA + FactB.

You might also like