Skip to content

Instantly share code, notes, and snippets.

View ncaq's full-sized avatar
🏠
Working from home

ncaq

🏠
Working from home
View GitHub Profile
@ncaq
ncaq / quine.hs
Created December 1, 2016 03:42
2014-04に記述,haskellによるquine
main :: IO ()
main = (\x -> putStr x >> print x) "main :: IO ()\nmain = (\\x -> putStr x >> print x) "
@ncaq
ncaq / fizzbuzz_by_google_complete.cpp
Created December 1, 2016 03:48
2014-10に記述,google_completeによるfizzbuzz
#include <boost/property_tree/xml_parser.hpp>
#include <curl/curl.h>
#include <iostream>
#include <string>
// #include <memory>
// c++ -std=c++11 -lcurl
class curl_wrapper // I need to RAII
{
@ncaq
ncaq / constexpr_maxdist.cpp
Created December 1, 2016 03:57
2014-11に記述,constexprのsqrtやhypotを実装したかったらしい,実際にどういう問題を解いてたのかはよくわからん
// -*- flycheck-clang-language-standard : "c++14"; -*-
// clang++ -std=c++14 -stdlib=libc++
// clang version 3.5.0 (tags/RELEASE_350/final)
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <numeric>
template<typename T>
@ncaq
ncaq / stable_sort.cpp
Created December 1, 2016 04:00
2014-11に記述,stable_sortの独自実装
// -*- flycheck-clang-language-standard : "c++14"; -*-
// clang++ -std=c++14 -stdlib=libc++
// clang version 3.5.0 (tags/RELEASE_350/final)
#include <algorithm>
#include <array>
#include <cmath>
#include <functional>
#include <iomanip>
#include <iostream>
@ncaq
ncaq / quick_sort.cpp
Created December 1, 2016 04:01
2014-11に記述,quick_sortの独自実装
// -*- flycheck-clang-language-standard : "c++14"; -*-
// clang++ -std=c++14 -stdlib=libc++
// clang version 3.5.0 (tags/RELEASE_350/final)
#include <algorithm>
#include <array>
#include <iostream>
#include <iterator>
#include <vector>
namespace reinvention
@ncaq
ncaq / brainfuck.cpp
Created December 1, 2016 04:13
2015-05に記述,c++によるbrainfuckの実装
#include <algorithm>
#include <boost/lexical_cast.hpp>
#include <chrono>
#include <cstdint>
#include <deque>
#include <iostream>
#include <iterator>
#include <string>
#include <thread>
@ncaq
ncaq / MyList.java
Last active December 1, 2016 04:28
2015-06に記述,JavaのListの独自実装
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
public class MyList<E extends Comparable<E>> implements List<E>
{
public static void main(String[] args)
{
// MyList クラスのテスト
List<String> list = new MyList<String>();
@ncaq
ncaq / LZ78.hs
Created December 1, 2016 04:58
2015-07に記述,LZ78の実装.無駄が多い上にシリアライズに気を配ってないため,大抵の場合逆にサイズが増える
{-# LANGUAGE OverloadedStrings #-}
module Main where
import qualified Data.ByteString.Char8 as S
import qualified Data.IntMap as I
import Data.List
import qualified Data.Map as M
import Data.Maybe ()
import Data.Monoid ()
import System.Environment
@ncaq
ncaq / pi.prolog
Last active December 2, 2016 13:59
2015-07に記述.prologによる格子点の個数からの円周率の近似値の計算
piExp(R, Pi) :- dimension(circle, R, Cs), dimension(box, R, Bs), Pi is Cs / Bs.
dimension( box, R, Ps) :- Ps is R * R.
dimension(circle, R, Ps) :- dimensionRec(circle, 0, R, Psr), Ps is Psr * 4.
dimensionRec( _, X, R, Ps) :- X > R, Ps is 0.
dimensionRec(circle, X, R, Ps) :- X =< R, line(circle, X, R, P), dimensionRec(circle, X + 1, R, NP), Ps is P + NP.
line(circle, X, R, P) :- hypot(X, Y, R), P is Y.
@ncaq
ncaq / CommandRank.hs
Created December 1, 2016 05:04
2015-08に記述,コマンドの使用頻度を計測する
import Control.Applicative ()
import Control.Monad
import Data.Char
import Data.List
import Data.List.Split
import qualified Data.Map as M
import Data.Monoid
import Data.Ord ()
import qualified Data.Set as S
import System.Directory