いろんな言語で宿題スレ 第三編at TECH
いろんな言語で宿題スレ 第三編 - 暇つぶし2ch48:デフォルトの名無しさん
09/12/24 15:59:46
>>38
% Prolog

辺の和が3以上1000以下の直角三角形のうち、最も面積の大きい直角三角形の3辺の長さを求める(Min,Max,_辺1,_辺2,_辺3) :-
  辺の和がMin以上Max以下の直角三角形のうち、最も面積の大きい直角三角形の3辺の長さを求める(3,1000,_辺1,_辺2,_辺3).

辺の和がMin以上Max以下の直角三角形のうち、最も面積の大きい直角三角形の3辺の長さを求める(Min,Max,_辺1,_辺2,_辺3) :-
  findall(N2,(for(1,N,Max),N2 is truncate(N*N)),L1),
  findmax([_面積,A,B,C],(for(1,N1,Max),辺の和がMin以上Max以下の直角三角形の面積(N1,Min,Max,L1,_面積,A,B,C)),[_,_辺1,_辺2,_辺3]).

辺の和がMin以上Max以下の直角三角形の面積(N,Min,Max,L1,_面積,A1,N,B1) :-
  N2 is N * N,
  member(A,L1),
  U is truncate(A + N2),
  member(U,L1),
  A1 is sqrt(A),
  C is sqrt(U),
  Sum is truncate(A1 + N + C),
  Sum >= Min,
  Sum =< Max,
  _面積 is A1 * N / 2.



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