小数表現 ◆0.375の10進数を2進数に変換 ポイント・・・・・小数部がなくなるまで2をかける 0.375×2=0.75 ・・・・・・・・0(整数部の値)↓ 0.75×2=1.5 ・・・・・・・・1 ↓ 0.5×2=1.0 ・・・・・・・・1 ↓ ↑ 注目 小数部0になりました ここでかけるのは終わり *ここで2をかけるのが永遠の続くことを無限小数といいます。 0.011 となります。 ◆次ぎに0.011の2進数を10進数に変換 0×2^-1+1×2^-2+1×2^-3 = 0×1/2+1×1/4+1×1/8 = 0+0.25+0.125 = 0.375 つまり 0 . 0 1 1 × ↑ ↑ ↑ + 1/2 1/4 1/8 ということです。 ◆同じように0.375の10進数を16進数に変換 0
最近の出来事 魚拓 (31/12/2008) Web魚拓を使った人がいるようです. まぁ,Web魚拓の理念は理解できますし, このページが誰かの役に立つということであれば光栄なことなのですが… 魚拓のシステムは(相対パスを含む?)CSSファイルのURLを正しく取得できないようです. なので,CSSが効かないせいで BLASのページのキャッシュも表示が崩れるということに. サイト管理者として「引用するなら正しく引用してください」という考えが浮かばなくもないのですが,はてさて? このページでキャッシュを制限させていただいているのは, 常に最新の情報を参照していただきたい,と考えているためです. これは1人で書いている関係で結構な量の書き損じが含まれていることもあります. 他には自分の書いたものは手の届く範囲に置いておきたいということでしょうか. ブラウザからの閲覧とはいえローカルホストにはキャ
Matplotlib is a python library for making publication quality plots using a syntax familiar to MATLAB users. Matplotlib uses numpy for numerics. Output formats include PDF, Postscript, SVG, and PNG, as well as screen display. As of matplotlib version 1.5, we are no longer making file releases available on SourceForge. Please visit http://matplotlib.org/users/installing.html for help obtaining matp
数学で、ファレイ数列(ファレイすうれつ、フェアリー数列[1]とも, Farey sequence [ˈfɛəri -]) とは、既約分数を順に並べた一群の数列であり、以下に述べるような初等整数論における興味深い性質を持つ。 正確にいえば、 自然数 n に対して、n に対応する(または、属する)ファレイ数列 (Farey sequence of order n) Fn とは、分母が n 以下で、 0 以上 1 以下の全ての既約分数を小さい順から並べてできる有限数列である。 ただし、整数 0, 1 はそれぞれ分数 0/1, 1/1 として扱われる。 定義によっては 0, 1 は数列から省かれる場合もある。 なお、英語では Farey series と呼ばれることも多いが、series(級数)の定義からいえば厳密には誤りである。 ファレイ数列 Fn は、具体的に n = 1, …, 8 のとき次
アフタヌーン・ティールームでパスタ・ランチを食べ終えた私は、 ロイヤルミルクティを飲みながら、ぼんやりと窓の外を眺めていた。 年末のはずなのに、町は意外に閑散としている。 ふと、ドアのほうに目をやると、ピンクのセーターを来た女の子が一人 入ってくる。 女の子は店内を見回して、私の方を向くとにこっと微笑んでこちらに近づいてきた。 彼女は、不思議そうな顔をしている私の向かいの席にするっと腰をおろすと、 大きな布のバッグをテーブルの上に置いて、ふう、と一息つく。 びっくりした私が「ええと…どちらさまですか?」と尋ねると、 彼女は「わかりませんか?」と答える。 私は彼女の顔をじっと見る。 …高校生、いや中学生かな? ふかふかした、やわらかいピンク色のとっくりセーター。 髪はストレートのロングで、プラスチックの髪留めが1つ。これもピンク。 整った顔立ちをしていて、微笑んでいる…だめだ、思い出せない。
説明 有理数 p = x/y と q = z/w に対し,二項演算 p@q を p@q = (x+z)/(y+w) で定義する.Stern-Brocot 木は,次で定義される無限に伸びる二分木である. 頂点は区間である. 根は (0,∞) に対応する区間 (0/1, 1/0) である. 頂点 (p, q) の子は (p, p@q), (p@q, q) である. この木の主な特徴は次のものである. 二分探索木である. 各頂点 {p, q} の分割点 p@q は既約有理数である. すべての既約有理数が一度だけあらわれる. 木の深さに対して対応する有理数の分子・分母は単調に増加する. 木の具体形は http://mathworld.wolfram.com/Stern-BrocotTree.htmlなどを参照. プログラミングの視点では,この木は「有理数を効率的に探索する」ために用いることができる
Project Euler 66 のネタバレです。見たくない人は見ないでください。本質的には全然理解できてないですが、それなりに有用な情報だと思ったので、解き方だけメモします。 ペル方程式とは (ただし D は平方数でない自然数) という形の不定方程式をペル方程式というそうです。 これを満たす整数 x と y は無数にあります。ですが、D の値によっては最小解でもかなり大きい値になることがあり、1 から順番に探していくことは事実上不可能です。たとえば D = 166 のときは以下が最小解です。 p(1700902565**2 - 166 * 132015642**2) #=> 1 最小解の見つけ方 最小解を高速に探し出す方法があります (参考: 二次無理数の連分数展開とペル方程式の解の構成) 。D の平方根の連分数表示を使って、漸化式で解けるとのこと。 例えば、14 の平方根の連分数表示は
英語版記事を日本語へ機械翻訳したバージョン(Google翻訳)。 万が一翻訳の手がかりとして機械翻訳を用いた場合、翻訳者は必ず翻訳元原文を参照して機械翻訳の誤りを訂正し、正確な翻訳にしなければなりません。これが成されていない場合、記事は削除の方針G-3に基づき、削除される可能性があります。 信頼性が低いまたは低品質な文章を翻訳しないでください。もし可能ならば、文章を他言語版記事に示された文献で正しいかどうかを確認してください。 履歴継承を行うため、要約欄に翻訳元となった記事のページ名・版について記述する必要があります。記述方法については、Wikipedia:翻訳のガイドライン#要約欄への記入を参照ください。 翻訳後、{{翻訳告知|en|Euclidean algorithm|…}}をノートに追加することもできます。 Wikipedia:翻訳のガイドラインに、より詳細な翻訳の手順・指針につい
Non-Uniform Random Variate Generation (originally published with Springer-Verlag, New York, 1986) Luc Devroye School of Computer Science McGill University Preface to the Web Edition When I wrote this book in 1986, I had to argue long and hard with Springer Verlag to publish it. They printed a small number of copies, and never bothered with a second printing, even though, surprisingly, there
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置
集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ
Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑
About Project Euler What is Project Euler? Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and
Next: 1.1 はじめに C 言語で数値計算プログラミング 桂田 祐史 Date: 2003年6月9日 1.1 はじめに C の勉強の仕方 どういうプログラムに C 言語を用いるべきか 目次 1. コンパイル、実行の仕方 1.1 はじめに 1.2 とにかくコンパイル 1.3 実行形式の名前の指定 (-o オプション) 一口メモ 1.4 システムのライブラリィをリンクする (-l オプション) 1.5 複数のソース・ファイルからなるプログラムのコンパイル&リンク 1.6 cco コマンド 1.7 -I, -L, -R 1.8 便利なオプション -- 最適化 -O, 警告レベルをあげる -W -Wall 1.9 -g 1.10 -pg 1.11 -E 1.12 -S 1.13 GNU Emacs の利用 1.13.1 原始的なプログラム書き 1.13.2 compile コマンド 1.13
using static System.Console; class Welcome { /// <summary> /// saying hello to all visitors and welcome. /// </summary> /// <param name="args">visitors</param> public static void Main(string[] args) { foreach(string visitor in args) { WriteLine($"Hello {visitor}."); } WriteLine("Welcome to my web page."); } } C# によるプログラミング入門 コンピュータの基礎知識 アルゴリズムとデータ構造 ブログ ようこそ ++C++; へ。 C#・情報工学を中心に勉強用ページとブログを載せています。
2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズム本の発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く