Top / Docs / 練習問題 / 解答例 / FizzBuzz / Prolog
%swi-prolog
fizzbuzz(N) :- fizzbuzz(N, 0).

fizzbuzz(N, M) :- 
       M < N, M1 is M+1,
       M1 mod 15 =:= 0,
       write('FizzBuzz '),
       fizzbuzz(N, M1).

fizzbuzz(N, M) :- 
       M < N, M1 is M+1,
       M1 mod 5 =:= 0,
       write('Buzz '),
       fizzbuzz(N, M1).

fizzbuzz(N, M) :- 
       M < N, M1 is M+1,
       M1 mod 3 =:= 0,
       write('Fizz '),
       fizzbuzz(N, M1).

fizzbuzz(N, M) :- 
       M < N, M1 is M+1,
       write(M1), write(' '),
       fizzbuzz(N, M1).

fizzbuzz(N, N).
📝 このページに誤りを見つけたら…  GitHubで報告(エンジニア向け)  ・  フォームで報告