golang

Go言語でCodeEvalのN Mod M

CodeEval組み込みの機能を使わずに余りを求める昨日でpython2で書いたので、今日はGoで書いてみる。ループじゃなくて再帰にしてみた。関連 : PythonでCodeEvalのN Mod M - brainstorm

Go言語でCodeEvalのSelf Describing Numbers

CodeEval 関連 : PythonでCodeEvalのSelf Describing Numbers - brainstorm 与えられた数値の各インデックスの値が、そのインデックスの出現回数とイコールのものをself describing numberとする2020の場合 "2020"[0]は2で、0は2回出現 "2020"[1]は0で、1は…

Go言語でCodeEvalのHappy Numbers

CodeEval与えられた数字の各桁の二乗を足しあわせた数を求め、それが1になればHappy Number。 1にならなければ得られた数字に対して同じ処理を繰り返す。 7の場合は7->49->97->130 ->10-> 1でHappyNumber 22の場合は8->64->52->29->85->89->145->42->20->4->…

Go言語でCodeEvalのRightmost Char

CodeEval 関連 : PythonでCodeEvalのRightmost Char - brainstorm

Go言語でCodeEvalのSet Intersection

CodeEval関連 : PythonでCodeEvalのSet Intersection - brainstorm

Go言語でCodeEvalのUnique Elements

CodeEval関連 : PythonでCodeEvalのUnique Elements - brainstorm 関連 : OcamlでUnique Elements - brainstorm

Go言語でCodeEvalのFile Size

関連 : PythonでCodeEvalのFile Size - brainstorm

Go言語でCodeEvalのOdd Numbers

100以下の奇数を出力するだけなので簡単関連 : PythonでCodeEvalのOdd Numbers - brainstorm

Go言語でCodeEvalのSum of Integers from File

関連 : PythonでCodeEvalのSum of Integers from File - brainstorm

Go言語でCodeEvalのMultiplication Tables

関連 : PythonでCodeEvalのMultiplication Tables - brainstorm

Go言語でCodeEvalのFibonacci Series

関連 : PythonでCodeEvalのFibonacci Series - brainstorm

Go言語でCodeEvalのSum Of Digits

関連 : PythonでCodeEvalのSum Of Digits - brainstorm

Go言語でCodeEvalのLowerCase

関連 : PythonでCodeEvalのLower Case - brainstorm

Go言語でCodeEvalのBit Positions

関連 : PythonでCodeEvalのBitPositions - brainstorm

Go言語でCodeEvalのMultiple Of a Number

関連 : PythonでCodeEvalのMultiples of a Number - brainstorm

Go言語でCodeEvalのReverse Words

引数でファイル名を渡してファイル1行ごとに単語を逆順にして標準出力入力ファイル Hello World Hello CodeEval実行結果 World Hello CodeEval Hello 関連: Pythonでcodeevalのreverse words - brainstorm

Go言語でSum of Primes

関連 : CodeEvalのSum of Primes - brainstorm 昔python2で書いたのをgoで書いてみる 実行結果 3682913

Go言語でn以下の素数を求める

関連 : エラトステネスのふるい - brainstorm練習のため書いてみたけどすっきりしない package main import ( "fmt" "math" ) func Sieve(n int) chan int { s := make([]bool, n) for x := 2; x < int(math.Sqrt(float64(n)))+1; x++ { if !s[x] { for i :=…

Go言語でhttpアクセスするサンプル

jsonを返すだけのサーバー package main import ( "encoding/json" "fmt" "net/http" ) type ColorGroup struct { ID int Name string Colors []string } func handler(w http.ResponseWriter, r *http.Request) { group := ColorGroup{ ID: 1, Name: "Reds"…

Go言語とpythonで環境変数を扱う

os.environを使う # coding=utf-8 import os # 環境変数設定 os.environ["hoge"] = "fuga" # 環境変数取得 print "hoge is {}".format(os.environ["hoge"]) # -> hoge is fuga # 環境変数をリストで取得 for i, pair in enumerate(os.environ.iteritems()): …

Go言語とpythonでurlをパースする

python # coding=utf-8 from urlparse import urlparse, parse_qs s = "http://www.cwi.nl:80/%7Eguido/Python.html?a=b#f" u = urlparse(s) print u # スキーム print u.scheme # -> http # ホスト print u.netloc # -> www.cwi.nl:80 # ポート番号とhostna…

Go言語で文字列がasciiのみで構成されているか調べる

pythonで文字列がascii文字のみで構成されているかどうかを調べる方法をググってて、encodeとかdecodeを使う方法を見つけた。 def is_ascii(u): try: if isinstance(u, unicode): u.encode('ascii') elif isinstance(u, str): u.decode('ascii') else: retur…

Go言語で配列の各要素が全て条件を満たすかどうかを調べる

関連 : 配列の各要素が全て条件を満たすかどうかを調べる - brainstorm Go言語だとビルトインには無さそう。 自前で書くとこんな感じか package main import ( "fmt" ) func All(vs []string, f func(string) bool) bool { for _, v := range vs { if !f(v) …

Go言語で基数変換

関連 : pythonで10進数からn進数に基数変換 - brainstorm package main import ( "fmt" "strconv" ) import () func main() { for i := 2; i <= 36; i++ { fmt.Println(strconv.FormatInt(10000000, i)) } } 実行結果 100110001001011010000000 200211001102…

Go言語でBase64エンコード

関連 : Python/Ruby/JavaでBase64エンコード - brainstorm package main import ( "encoding/base64" "fmt" "io/ioutil" "os" ) func main() { // 文字列をbyte配列にしてbase64にする data := "volume contrast brilliance" sEnc := base64.StdEncoding.Enc…

Go言語で文字列を1文字ずつのリストにする

関連 : python、rubyで文字列を1文字ずつのリストにする - brainstormruneじゃなくてstringのリストにする package main import ( "strings" "fmt" ) func main() { str := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" fmt.Printf("%…

Go言語でSHA-1

暗号やハッシュについては、cryptoパッケージにいろいろ揃っている。 crypto - The Go Programming Language package main import "crypto/sha1" import "fmt" func main() { s := "任意の文字列" h := sha1.New() // バイト配列を渡す h.Write([]byte(s)) /…

Go言語でファイルの情報を得る

ファイル名やサイズなどを取得 package main import ( "fmt" "os" ) func main() { f, _ := os.Open("main.go") defer f.Close() if fi, err := f.Stat(); err == nil { fmt.Printf("ファイル名: %s\n", fi.Name()) fmt.Printf("ファイルサイズ(byte): %d\n"…

Go言語でShiftJISのファイルを読む

go.textパッケージを使う $ go get code.google.com/p/go.text/encoding $ go get code.google.com/p/go.text/encoding/japanese 使い方を調べるためにsjisのファイルをeucjpに変換してコピーする処理を書いてみた package main import ( "code.google.com/p…

Go言語で文字列を1文字ずつ処理する

rangeにstringを渡すとbyte positionとruneを1つずつ取得できる package main import ( "fmt" "unicode/utf8" ) func main() { s := "あいうえお" // rangeにstringを渡すとpos,runeを順に返す for pos, r := range s { fmt.Printf("character %c starts at …