Skip to content

Instantly share code, notes, and snippets.

View emanon001's full-sized avatar

emanon001 emanon001

View GitHub Profile
@kohyama
kohyama / README.md
Last active October 13, 2015 19:18
Project Euler Problem 10

Project Euler Problem 10 解答とコメント

#clojure 入門者向け勉強会 #mitori_clj 第二週担当分

Project Euler Problem 10
2,000,000 未満の素数の総和を求めよ. とのことです.

結果を出すために手に入るリソースを有効活用するという考えのもとでは --この問題自体の解答を述べている

@ypsilon-takai
ypsilon-takai / pe_7.clj
Created December 11, 2012 12:32
project euler 7
;; 去年最初に解いたとき答え
;;
;; "Elapsed time: 106406.52058 msecs"
;; 今やっても時間が1分40秒もかかってしまうので、だめー。
;; 考えかた
;; ある数Nが素数であるかどうかは、√N以下の素数に割りきれるものがあるかどうかで判定します。
;; そのためには、そこまでに発見した素数を保持する必要があります。
;; あとは、2以上の数について、素数であるかどうかでフィルターします。
@ponkore
ponkore / problem-4-1.clj
Created December 14, 2012 13:35
Project Euler Problem 4
;;;A palindromic number reads the same both ways.
;;;The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.
;;;Find the largest palindrome made from the product of two 3-digit numbers.
;;;左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、
;;;最大のものは 9009 = 91 × 99 である。
;;;では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。
(ns projecteuler.problem-4
(:require [clojure.string :as str])
@plaster
plaster / pe-9.clj
Created December 15, 2012 07:21
Project Euler Problem 9 solution in Clojure (#mitori_clj)
(use 'clojure.test)
;; ピタゴラス数チェック
(defn pythagorean?
[a b c]
(= (* c c) (+ (* a a) (* b b))))
(is (pythagorean? 3 4 5))
;; 合計が a+b+c かつ 0 < a < b < c になるような組の列挙
@plaster
plaster / memotest.clj
Last active December 10, 2015 22:38
メモ化再帰実験
(defn fib [n]
(let [a-fib (atom false)]
(reset! a-fib (memoize (fn [n] (if (< 1 n) (+ (@a-fib (- n 1)) (@a-fib (- n 2))) 1))))
(@a-fib n)
))
;;; inspired by @tnoda
(def ^:dynamic *m-fib*)
(defn fibv [n]
(binding [*m-fib* (memoize (fn [x] (if (< 1 x) (+ (*m-fib* (- x 1)) (*m-fib* (- x 2))) 1)))]
(use 'clojure.test)
(with-test
(defn f
[& {:as options}]
options)
(is (nil? (f)))
(is (thrown? IllegalArgumentException (f nil)))
(is (thrown? IllegalArgumentException (f :a)))
(is (= (f nil nil) {nil nil}))
@syou6162
syou6162 / Jark.md
Created February 8, 2012 02:23
Jarkの使い方メモ

Jarkの使い方メモ

Clojureにはleiningenという便利なツールがありますが

  • 小さなスクリプト的な使い方をしたい
  • テストを小まめに走らせたい

などのときにlein自体の起動(というかjvmの起動)の遅さが気になってきます。どうにかしたいと思って調べていったところ、jarkというのが便利そうだったので、使い方を調べてみることにしました。

というか本家のほうでtest/script.clj --foo "a" --bar "b"という感じで動かせると書いてあるんですが、これだといくら頑張っても動かなかった。。。それとjark ns load XXX.cljもダメでした。なんでだろう。。。

@kohyama
kohyama / str-drop-while-same.clj
Last active October 19, 2017 08:55
文字列を先頭から見て同じところまで除去 in Clojure
(require '[clojure.test :refer (with-test are run-tests)])
(with-test
(defn str-drop-while-same [& args]
(if (some nil? args) args
(->> (map #(concat % (repeat nil)) args)
(apply map vector)
(drop-while #(apply = %))
(take-while #(some identity %))
(apply map str))))
;;; Project Euler #8
;;; http://projecteuler.net/problem=8
;;; http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%208
(use 'clojure.test)
(def input
(str
"73167176531330624919225119674426574742355349194934"
"96983520312774506326239578318016984801869478851843"
@akiatoji
akiatoji / _sns_description
Last active January 15, 2020 02:30
AWS SNS Sample code.
Notes on how to use AWS SNS:
1. Subscribe an HTTP endpoint (i.e. http://myhost/sns_endpoint) on AWS Console
2. AWS will send subscription confirmation right away
3. SNS_controller responds to subscription confirmation by sending confirmation using Fog.
4. Once AWS is happy, you can start sending notifications to your end point via SNS.