fork download
  1. fizzbuzz(0,L,L):-!.
  2. fizzbuzz(X,T,L):-0 is X mod 15, !, Z is X-1, fizzbuzz(Z,['fizzbuzz'|T],L).
  3. fizzbuzz(X,T,L):-0 is X mod 5, !, Z is X-1, fizzbuzz(Z,['buzz'|T],L).
  4. fizzbuzz(X,T,L):-0 is X mod 3, !, Z is X-1, fizzbuzz(Z,['fizz'|T],L).
  5. fizzbuzz(X,T,L):-Z is X-1, !, fizzbuzz(Z,[X|T],L).
Success #stdin #stdout 0s 76480KB
stdin
fizzbuzz(20,[],L).
stdout
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz

L = [1,2,fizz,4,buzz,fizz,7,8,fizz,buzz,11,fizz,13,14,fizzbuzz,16,17,fizz,19,buzz]

yes