Prologでは再帰的に処理する方法と、findallでリストを生成する方法があると聞きました。
下に、再帰的な処理のプログラムがありますが、 findallを使うプログラムの書き方を教えて下さい。

%  
%  <<問題>>  
%  初心者向きのPrologの問題。100個の乱数値(0-99)をリストに生成してください。  
%  乱数値(0-99)は _乱数値 is random(100) で取れることとしてください。  
%  
%  初心者でない人には、「あなたは、何通りのプログラムパターンが脳裏を過ぎりますか?」  
%  


'100個の乱数値(0-99)をリストに生成します'(_乱数リスト) :-  
    '100個の'(_乱数リスト),  
    '乱数値(0-99)をリストに生成します'(_乱数リスト).  

'100個の'(_乱数リスト) :-  
    length(_乱数リスト,100).  

'乱数値(0-99)をリストに生成します'([]).  
'乱数値(0-99)をリストに生成します'([_乱数値|R]) :-  
    _乱数値 is random(100),  
    '乱数値(0-99)をリストに生成します'(R).