いろんな言語で宿題スレ 第三編at TECH
いろんな言語で宿題スレ 第三編 - 暇つぶし2ch60:デフォルトの名無しさん
09/12/25 07:00:36
>>30
% Prolog 一般解を試みる。あまりすっきりしない。

'メンバーが男Mn人女Fn人で構成される時、男M人女N人をランダムに取り出す確率'(Mn,Fn,M,N,_確率) :-
  メンバー全員は(Mn,Fn,Sn),
  Sm is Sn - M - N + 1,
  Mm is Mn - M + 1,
  Nm is Nn - N + 1,
  '男M人女N人の取り出し順序は何通りか'(M,N,_何通り),
  '分母はSn*S(n-1)*..*S(m+1)*Smである'(Sn,Sm,_分母),
  '分子はMm*M(m-1)*..M(n+1)*M(n)*Fm*F(m-1)..*F(n+1)*Fnに取り出し順序の何通りかを掛けたものである'(Mn,Mm,Fn,Fm,_何通り,_分子),
  _確率 is _分子 / _分母.

'分母はSn*S(n-1)*..*S(m+1)*Smである'(Sn,Sm,_分母) :- 階乗(Sn,Sm,_分母),!.

'分子はMm*M(m-1)*..M(n+1)*M(n)*Fm*F(m-1)..*F(n+1)*Fnに取り出し順序の何通りかを掛けたものである'(Mn,Mm,Fn,Fm,_何通り,_分子) :-
  階乗(Mn,Mm,A),
  階乗(Fn,Fm,B),
  _分子 is A * B * _何通り,!.

'男M人女N人の取り出し順序は何通りか'(M,N,_何通り) :-
  S is M + N,
  階乗(M,M1),
  階乗(N,N1),
  階乗(S,S1),
  _何通り is S1 / ( M1 * N1 ).


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch