トップ «前の日記(2016-05-09(Mon)) 最新 次の日記(2016-05-17(Tue))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-05-15(Sun) 既に昨日になってしまっているが

某所の問題

3つの数から大きいのふたつを取り出してその 自乗同士を足すこと。
最初はそれを逐次解いてみたが、 最終値比較したほうが 手っ取り早く思えた。

;;; 基本的な関数を定義
(define t2p
  (lambda (a b)
    (+ (* a a) (* b b))))
 
;;; これも同様
(define larger
  (lambda (a b)
    (cond
     ((> a b) a)
     (else b))))
 
;;;全体
(define newlarge
  (lambda (a b c)
    (cond
     ((>= (tp2 a b) (tp2 a c))
      (larger (tp2 a b) (tp2 b c)))
     (else
      (larger (tp2 a c)(tp2 b c)))
     )))
(newlarge 8 9 10)
gosh> 181
(newlarge 8 10 9)
gosh> 181
(newlarge 9 8 10)
gosh> 181
(newlarge 9 10 8)
gosh> 181
(newlarge 10 8 9)
gosh> 181
(newlarge 10 9 8)
gosh> 181

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。