Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2007-03-11

L-99 (33)

| 01:19 | L-99 (33)  - わだばLisperになる を含むブックマーク はてなブックマーク - L-99 (33)  - わだばLisperになる

L-99 33問目に挑戦 - L-99:Ninety-Nine Lisp Problems

P33

解答
;; Common Lisp
(defun coprime (m n)
  (if (= 1 (abs (gcd m n)))
      t
      nil))

;; Scheme
(define coprime
  (lambda (m n)
    (if (= 1 (abs (gcd m n)))
	#t
	#f)))

;; Ruby
load "my_gcd"

def coprime(m, n)
  return true if my_gcd(m, n).abs == 1
  nil
end

coprimeとは「互いに素」であることを言うらしい。

1と-1以外で共通する約数を持たないかどうかを調べれ

ば良いらしいので、そういう風に作ってみた。

Rubyは書き方が分からない。しかし、Common Lispも

Schemeも書き方は分かっていないので、まあ良し。