Skip to content

Instantly share code, notes, and snippets.

View st98's full-sized avatar

st98 st98

View GitHub Profile
@st98
st98 / bf.c
Last active December 30, 2015 09:29
Brainf*ckのC実装です。雑です。
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#define G ptr++;
#define L ptr--;
#define P (*ptr)++;
#define M (*ptr)--;
#define D putchar(*ptr);
#define C *ptr=getchar();
@st98
st98 / bf.js
Last active December 30, 2015 11:19
Brainf*ckのJavaScript実装です。Cのプリプロセッサで実装したアレみたいな感じです。やはり雑。
var bfeval = function (source) {
var
code = '',
index = 0,
length = source.length,
result;
code += '(function () {';
@st98
st98 / fizzbuzz.js
Last active December 30, 2015 16:39
Number#toStringを利用したFizzBuzz。
(function () {
var isFizz = function (n) {
var res = n.toString(3);
res = res[res.length - 1] === '0';
return res;
};
var isBuzz = function (n) {
var res = n.toString(5);
res = res[res.length - 1] === '0';
@st98
st98 / gcd.rb
Last active December 31, 2015 05:59
Rubyの練習。ユークリッドの互除法を使って2つの整数の最大公約数を求めます。
# ユークリッドの互除法(非再帰)
def gcd_euclid_l(a, b)
while 0 do
break if b == 0
a, b = b, a % b
end
a
end
@st98
st98 / mezashi.user.js
Last active December 31, 2015 09:39
「目指す」を「めざし」に置換するユーティリティ。
// ==UserScript==
// @name mezashi.js
// @namespace http://st98.github.io
// @description 「目指す」を「めざし」に置換するユーティリティ。
// @include *
// ==/UserScript==
;(function () {
document.body.innerHTML = document.body.innerHTML.replace(/(目[指差]|めざ)[さ-そ]/g, 'めざし');
}).call(this);
@st98
st98 / lcm.rb
Created December 17, 2013 16:19
Rubyの練習。2つの整数の最小公倍数を求めます。
def gcd(a, b)
if b == 0 then
a
else
gcd(b, a % b)
end
end
def lcm(a, b)
a * b / gcd(a, b)
/* 83byte */
for(i=0;i++<100;)document.write([,,f="Fizz",,b="Buzz",f,,,f,b,,f,,,f+b][i%15-1]||i)
@st98
st98 / leet.js
Last active January 1, 2016 13:19
アルファベットからleetへの変換。読めないです。 http://ja.wikipedia.org/wiki/Leet
(function () {
var root = this;
var leet = {};
if (typeof exports !== 'undefined') {
if (typeof module !== 'undefined' && module.exports) {
exports = module.exports = leet;
}
exports.leet = leet;
(function () {
var count = function (start) {
start = start || 0;
return function () {
return start++;
};
};
var enumerate = function (iter, start) {
@st98
st98 / bf.js
Last active January 2, 2016 07:19
マジメに書いたBrainf*ckインタプリタです。
(function () {
var bf = function bf(src) {
if (!(this instanceof bf)) {
return new bf(src);
}
this.src = src;
};
var token = {