Skip to content

Instantly share code, notes, and snippets.

View chomado's full-sized avatar
🎀
Working

ちょまど | Madoka Chiyoda chomado

🎀
Working
View GitHub Profile
@chomado
chomado / gijinka.md
Last active December 15, 2015 23:39 — forked from pasberth/gijinka.md
  • Haskellは天才過ぎて大学行ってる15歳
  • RubyはモテモテJK
  • Pythonは真面目委員長、風紀委員
  • LISPは部活
  • Javaは最近あんまり人気無い
  • COBOLは用務員のおばあちゃん
  • Haskellは天才過ぎて大学行ってる15歳
  • RubyはモテモテJK
  • Pythonは真面目委員長、風紀委員
  • LISPは部活
  • Javaは最近あんまり人気無い
  • COBOLは用務員のおばあちゃん
  • C++はよくわからない怖い大先輩
  • Haskellは天才過ぎて大学行ってる15歳
  • RubyはモテモテJK
  • Pythonは真面目委員長、風紀委員
  • LISPは部活
  • Javaは最近あんまり人気無い
  • COBOLは用務員のおばあちゃん
  • C++はよくわからない怖い大先輩
  • Perl はひげのおっさん
@chomado
chomado / 73.ml
Last active December 16, 2015 16:29
(* seiseki : string * string -> string *)
let seiseki pair = match pair with
(name, score) -> name ^ "'s sore is " ^ score ^ "."
(* taisho x : float * float -> float * float *)
let taisho_x point = match point with
(x, y) -> (x, -. y)
@chomado
chomado / 74.ml
Created April 25, 2013 22:34
2点の座標を受け取って中点の座標を求めます。
(* chuten : float * float -> float * float -> float * float *)
let chuten point1 point2 = match point1 with
(x1, y1) -> ( match point2 with
(x2, y2) -> ((x1 +. x2)/.2.0, (y1 +. y2)/.2.0))
; b) 1つのリストを引数とし、aというシンボルがいくつあるかを返す。
(defun a-ikutu (lst)
(if (null lst)
0
(+ (if (eql (car lst) 'a)
1
0)
(a-ikutu (cdr lst)))))
(defun a-ikutu (lst)
(length (filter #'(lambda (x) (eq x 'a)) lst)))
;; filter関数
(defun filter (pred lst)
(cond ((null lst) nil)
((funcall pred (car lst))
(cons (car ls) (filter pred (cdr lst))))
(t (filter pred (cdr lst)))))
@chomado
chomado / euclid_count.ml
Created May 17, 2013 09:25
でも今 # euclid' 0 4 2 って最初のcを0って指定してしか動かないので、できれば euclid' 4 2 って感じで引数減らしたいんですけどどうすればいいのか分からない
(* 目的 : 最大公約数を求める *)
let rec euclid m n =
if n = 0 then m
else if m = n then m
else if m > n then euclid n ( m mod n )
else euclid n m
(* 目的: 最大公約数を求めて、何回引き算したか(=何回割り算したか) 求める *)
(* euclid' :: int -> int -> int -> int *)
let rec euclid' c m n =
mysort :: [Int] -> [Int]
mysort list = case list of
[] -> []
first : rest -> insert (mysort rest) first
where insert lst n = case lst of
[] -> [n]
first : rest
| first < n -> first : insert rest n
| otherwise -> n : lst