Finde Potenzen von 2 in einer Liste Prolog

Ich versuche, eine Liste in Prolog (SWI Prolog) zu erstellen und zu überprüfen, welche Zahlen Potenzen von 2 sind, und zu ermitteln, wie oft eine bestimmte Nummer in der Liste enthalten ist (in diesem Beispiel wird versucht, zu ermitteln, wie oft die Nummer vorhanden ist 3 ist in der Liste). Zum Beispiel, wenn Sie fragen

?- check([0,2,3,-5,-2,1,8,7,4], MULT2, THREE).

Das solltest du sehen

MULT2=[2,8,4] 
THREE=1 

Mein erster Versuch, eine Lösung zu finden, besteht darin, die Liste mit head zu durchsuchen und head mod 2 = 0 zu machen, um alle Zahlen zu finden, die Potenzen von 2 haben, aber etwas ist schiefgegangen und ich bekomme nur "false" als Antwort.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage