Skip to content

Instantly share code, notes, and snippets.

View private-yusuke's full-sized avatar
💤

private-yusuke

💤
View GitHub Profile
@private-yusuke
private-yusuke / weather-cui.d
Last active July 23, 2017 13:58
郵便番号を入れると現在の天気とか出してくれるすごいやつ
import std.stdio, std.string, std.json, std.net.curl, std.conv;
const string URL = "http://api.openweathermap.org/data/2.5/weather";
const string APPID = "TYPE YOUR APPID HERE";
void main(string[] args) {
if (args.length != 2) {
writeln("The arguments are too less or too much");
return;
}
Inductive major (A B C:Prop) : Prop :=
| ab: A->B->major A B C
| bc: B->C->major A B C
| ca: C->A->major A B C.
Theorem majmaj:
forall A B C: Prop,
major A B C -> ~major (~A) (~B) (~C).
Proof.
unfold not.
@private-yusuke
private-yusuke / BenchTime.swift
Created August 14, 2017 14:17
かんたんに処理時間を計測できるクラス
import Foundation
class BenchTime {
private var elapsedTime_: Double = 0
init(block: () -> ()) {
let start = Date()
block()
elapsedTime_ = Date().timeIntervalSince(start)
}
@private-yusuke
private-yusuke / GCDSolver.swift
Created August 14, 2017 14:59
最大公約数を一瞬で出すクラス
import Foundation
class GCDSolver {
static func solve(_ a: Int, _ b: Int) -> Int {
if a == 0 || b == 0 {
fatalError("Fount zero value in the arguments")
}
var i = a, j = b
if i < j {
@private-yusuke
private-yusuke / EuclidSolver.swift
Created August 15, 2017 00:35
ユークリッドの互除法で最大公約数と最小公倍数を一瞬で出せるクラス(整数は2つ以上ならいくらでも処理させられる)
import Foundation
class EuclidSolver {
static func solveGCD(_ a: Int, _ b: Int) -> Int {
if a == 0 || b == 0 {
fatalError("Fount zero value in the arguments")
}
var i = a, j = b
if i < j {
@private-yusuke
private-yusuke / regex_yahoo.d
Created November 19, 2017 13:29
正規表現で画像のURLを抽出
import std.stdio, std.net.curl, std.file, std.windows.charset, std.conv, std.regex;
void main()
{
auto content = get("yahoo.co.jp");
writeln(to!(string)(toMBSz(content)));
auto r = ctRegex!("\\<img.*?src\\s*?=\\s*?[\"|\'](.*?(png|jpeg|jpg|gif))[\"|\'].*?\\>");
foreach(c; matchAll(content, r))
{
writeln(to!(string)(toMBSz(c[1])));
@private-yusuke
private-yusuke / MonteCarlo.java
Created February 1, 2018 08:33
円周率をモンテカルロ法に基づいて算出
public class MonteCarlo {
static public final long POINT_AMOUNT = 10000;
public static void main(String[] args) {
long count = 0;
for (long i = 0; i <= POINT_AMOUNT; i++) {
Point p = new Point(Math.random(), Math.random());
if(p.isInCircle()) count++;
}
System.out.println((double)4*(double)count / (double)POINT_AMOUNT);
@private-yusuke
private-yusuke / customemojicollector.d
Last active May 27, 2018 10:15
Slackのカスタム絵文字の全画像をダウンロードし、エイリアスを含めてすべての絵文字を出力します。
import std.stdio;
import std.json;
import std.net.curl;
import std.conv;
import std.regex;
import std.file;
import std.string;
import std.algorithm;
import std.parallelism: parallel;
import std.range;
@private-yusuke
private-yusuke / fibonacci_general_term.d
Last active February 17, 2018 08:54
再帰処理、メモ化、一般項、行列のそれぞれ4種類の方法でフィボナッチ数列の第n項を求めるプログラムたち
import std.stdio;
import std.conv;
import std.range;
import std.bigint;
import std.datetime;
import std.math;
import std.algorithm;
import std.datetime.stopwatch: benchmark, StopWatch;
void main(string[] args)
@private-yusuke
private-yusuke / fizzbuzz.d
Last active March 10, 2018 01:59
一行でFizzBuzz
import std.stdio;
import std.range;
import std.conv;
import std.algorithm;
void main()
{
iota(1, 100).map!(x => x % 15 == 0 ? "FizzBuzz": x % 3 == 0 ? "Fizz": x % 5 == 0 ? "Buzz": x.to!string).each!writeln;
}