Anonymous user
General FizzBuzz: Difference between revisions
→{{header|Prolog}}
(Added Prolog solution) |
|||
Line 2,526:
A simple Prolog solution to the generalised FizzBuzz problem is as follows:
<lang prolog>fizzbuzz(
( (S = "", Res is N) ; Res = S ).▼
fizzbuzz(N,[(F,S)|Fs],Res) :-
fizzbuzz(N,Fs,OldRes),
( N mod F =:= 0, string_concat(S,OldRes,Res) ; Res = OldRes ).
loop(B,B,_).
loop(A,B,Fs) :-
Next is A+1, loop(Next,B,Fs).
go :- maxNumber(M), factors(Fs), MLast is M+1, loop(1,MLast,Fs).</lang>
It is worth noting that
<lang prolog>factors([(3, "Fizz"), (5, "Buzz")]).</lang>
corresponds to basic FizzBuzz and that the proposed solution can handle an arbitrary number of factors.
=={{header|Python}}==
|