2014-01-01から1年間の記事一覧

CodeIQ「中学入試から:図形と場合の数」

CodeIQ の鍋谷武典さん出題の問題。 問題と解説はこちら。 「中学入試から:図形と場合の数」の 解説・解題下が提出したコード。言語は Ruby。 問題データをつけてすぐに実行できるものを http://ideone.com/cvjXrT に置いておいた。今回力尽くな方法しか思…

√6

某所に を計算しろという問題があったので、前に書いた円周率のプログラムをいじって書いてみた。 として √ のところをテーラー展開して これで10進2桁ずつ求めていくというやり方。 速くはないけど、プログラムは簡単に書ける。平方根をこの方法で計算する…

CodeIQ「中学入試から:数字の個数」

CodeIQ の鍋谷武典さん出題の問題。 問題と解説はこちら。 「中学入試から:数字の個数」の 解説・解題プログラムは x 未満(x 自身を含まないのが自分でも混乱するけど、x 以下とやるより綺麗になるので)の数字を数える関数 count を作って、不定積分から定…

ぷよぷよ19連鎖

ちょうど1年前 Ruby を覚えたての頃書いたコードを発見した。 Ruby をインストールした直後で、何か書いてみたくてネットで例題を探していた記憶がある。問題はこれ。 http://okajima.air-nifty.com/b/2011/01/2011-ffac.html ゲーム「ぷよぷよ」で、フィー…

CodeIQ「中学入試から:正三角形?二等辺?」

CodeIQ の鍋谷武典さん出題の問題を解いてみた。 問題と解説はこちら。 「中学入試から:正三角形?二等辺?」の、解説・解題解説を読んでから気づいたんだけど、ちょっと今回は力尽くなコードを書いてしまった。 言語は Ruby。 v.values - [nil] のところは…

CodeIQ「クロスワードを作成して!」

CodeIQ の masuipeo さん出題の問題に解答してみた。 提出時は結構速いコードが書けたと思っていたのだが、 第47回「今週のアルゴリズム:クロスワードを作成して!」優秀解答例 を見たらずっと高速なものが紹介されていたので、自分が書いたものを少しいじ…

CodeIQ「中学入試から:単位のある計算」の解答

CodeIQ の鍋谷武典さん出題の問題「中学入試から:単位のある計算」を解いてみた。 問題と解説は http://nabetani.hatenablog.com/entry/codeiq_unit_q1058 にある。下が提出したコード。言語は Ruby。 不正な入力にはほとんど対処していないが、次元が揃っ…

CodeIQの七夕問題を解いてみた

CodeIQの七夕問題で提出したコードを貼っておく。問題と解説はこちら。 給料UPを目指す彦星の解答は?「七夕問題☆牽牛 彦星 牛をもっと飼う」解説 #CodeIQ言語は C。 64ビットの整数型 long long int と立方根 cbrt() が使える処理系が必要。 実行時間は Ide…

「長くなるように、増え続けるように」

CodeIQ で出題された問題に解答してみた。 問題は 「長くなるように、増え続けるように」の 解説・解題 で読める。数列の列 b を以下のように構成する。 b_1 は s の最初の数字1項だけの列。 b_i (i≧2) は次のようにして決める。 「s の最初の i 文字を区切…

トリボナッチ数を計算してみた

(修正完了。添え字をずらして標準的な定義に合わせた) で定義されるトリボナッチ数(Tribonacci Number)というものがある。 これを効率よく計算する方法を某所で訊いている方がいたので、ちょっと考えてみた。 以下は自分で考えたものなので、もっといい方法…

覆面算ソルバー(足し算限定)

CodeIQ で覆面算の問題が出題されたときに書いたもの。 という形限定。 permutation で数字の順列を生成して、数字を割り当てた式を eval で評価すれば短く書けるが、それだと結構遅いから、下から一桁ずつ調べるようにした。言語は Ruby。 最後の行の 'SEND…

テトロミノビンゴの未解決問題

前回、テトロミノビンゴの問題を解いたが、今回は テトロミノ+ビンゴ! の未解決問題 を解いてみた。 一見膨大な計算のように見えるが、まず、カードに書かれていない数字の出方はどうでもいいので、99!通りではなくて、25!通りの計算で十分なのは明らか。 …

テトロミノビンゴ

テトロミノビンゴ CodeIQ に出した「テトロミノ+ビンゴ!」の解説・解題 にあった問題を解いてみた。 言語は Ruby。 リンク先にある data.txt が入力データとして必要。 手元の環境での実行時間は1.1秒程度。Ideone.com 程度の処理速度なら1秒未満のはず。…

SHA-1 を実装してみた

某所の例の問題を考えてるときにハッシュ関数アルゴリズムの SHA-1 の中をいじりたくなって、英語版 Wikipedia の SHA-1 の頁を参考にして Ruby で実装してみた。 ほぼ擬似コードのとおりに実装しただけで、効率は考えていない。 class Integer def rotate(r…

hello, world × 3

CodeIQ で出題されていた、'hello, world' を異なる3種のプログラミング言語で出力する問題。 複数のプログラムで共通して使われる文字の種類が少ないほど高評価というもの(大文字と小文字は異なる文字と考える)。 挑戦者求む!hello, world × 3 by @Nabetan…

CodeIQ のジェムストリング問題を解いてみた

CodeIQ の結城浩氏出題のジェムストリング問題(王女様の宝石パターンを見つけよう!)に解答してみた. 解答中にコメントを書くと, それがフィードバックで紹介されてしまうことがあるとは知らなかった. 自分が書いたのは長くて目立つのに, 間違ったところがあ…