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

屑俺日記

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


2016-05-22(Sun) また少しずつ

2で割ると1余り、3で割ると....6で割ると5余る100以下の整数

以前見かけたクイズ。

(defun divdiv (n)
  (cond
   ((zerop n) nil)
   ((and
     (eq (% n 2) 1)
     (eq (% n 3) 2)
     (eq (% n 4) 3)
     (eq (% n 5) 4)
     (eq (% n 6) 5))
    n)
   (t
    (divdiv (1- n)))))
 
(divdiv 99)
59
(defun divdiv2 (n)
  (cond
   ((zerop n) nil)
   ((=
     (- (% n 2) 1)
     (- (% n 3) 2)
     (- (% n 4) 3)
     (- (% n 5) 4)
     (- (% n 6) 5))
    n)
   (t
    (divdiv2 (1- n)))))
 
(divdiv2 99)
59

解は一つとは限らない

リストにしてみた。

(defun divdiv3 (n)
  (cond
   ((zerop n) nil)
   ((and
     (= (% n 2) 1)
     (= (% n 3) 2)
     (= (% n 4) 3)
     (= (% n 5) 4)
     (= (% n 6) 5))
    (cons n
          (divdiv3 (1- n))))
   (t
    (divdiv3 (1- n)))))
 
(divdiv3 200)
(179 119 59)
本日のツッコミ(全2件) [ツッコミを入れる]
takanyon (2016-05-30(Mon) 00:18)

余りの最小公倍数60の倍数-1になりますね。

kuzu (2016-06-18(Sat) 15:50)

あまり見てなくてすみません。クイズの模範解答もそうでした


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

index.htmlは ここから。