カーネル

しばらくLPIC Level 2の勉強でも。覚えたり調べたりしたことをまとめていくよ。 カーネルのバージョン カーネルのバージョンを調べる時はuname。バージョン番号のみを表示する時は、 # uname -runame -rとして、シェルスクリプトと組み合わせて使うことが多…

LPIC Level 1取れたよ

残り半分のLPI Level 1 Exam 102試験受けてきた。市販の問題集がサクサク解けたので自信を持って試験を受けてみたけど・・・前回以上にムズかった・・・。なんと、記述式の問題が58問中23問・・・大杉。800点満点で500点が合格ライン。僕の成績は660点だった…

キーボード掃除

イイネ。 % cat > /dev/null

LPIC Level 1 Exam 101取ってみた

ちと書くのをサボりすぎてた。久しぶりに見たらスゲー心配されてたり。めちゃくちゃ元気です(汗 で、Linuxのお勉強でもしようかと思ってLPICを取りにいってきた。とりあえずLPIC Level 1は2つに分けて受験できるので前半の101。入門レベルなので大丈夫だろ…

成長

成長 - Cartmanの日記 この人,ものすごい勢いで成長していない.いやはや. orz

ヒープソート

チマチマアルゴリズムのお勉強中。今回はヒープソート。SICPにも二進木が出てきた気がするけど、ヒープも二進木の一種らしい。 ところでヒープってナンダ!! ヒープ領域とは全く関係ない。 親 > 子となってるツリー構造。親 ま、詳しいことは、こちらをヒー…

nを1から初めてその2乗を足していき、和が2000を初めて超えたとき和はいくつになるか

与えられた木から・・・の回答例を巡ってたら、「nを1から初めてその2乗を足していき、和が2000を初めて超えたとき和はいくつになるかという問題」をScalaで解いてみた - Onion開発停滞日記 > Achiral に Scan とか Pairwise とか条件変化可能な TakeWhile …

与えられた木から、子→親への対応を作る

via 自分には30分でも難しそうな希ガス > 与えられた木から、子→親への対応を作る 木構造が与えられる。たとえばこんなの: (define *tree* '(Root (Spine (Neck (Head)) (RClavicle (RUpperArm (RLowerArm (RHand)))) (LClavicle (LUpperArm (LLowerArm (LH…

ロベールのC++入門講座

やっぱ文法もやったほうがいいなと思って、C++の入門書買ってきた。ロベールのC++入門講座作者: ロベール出版社/メーカー: 毎日コミュニケーションズ発売日: 2007/11/15メディア: 単行本(ソフトカバー)購入: 26人 クリック: 25,357回この商品を含むブログ …

参照パラメータ

C++

CとC++って全然違うんだなぁと感じるC++二週間目くらい。キモイなコレ。 #include <iostream> void swap(int &a, int &b) { a ^= b; b ^= a; a ^= b; } int main() { int a = 1; int b = 2; swap(a, b); return 0; } ポインタなのか値なのかはっきりわかんねぇ奴だな。</iostream>…

0 / 0

sign(x) = x / abs(x)はゼロ除算エラーになるからダメ。と書こうと思ったけど、イマイチ引っかかる。 1 / 0 1 / 0 は不定なのはわかる。1 / 0 = xとおいて、両辺にゼロを掛けると、1 = x * 0x * 0で1になる数は無い。なので不定。 0 / 0 んじゃ、0 / 0でやっ…

printfデバッグ環境づくり

C++

とりあえずprintfデバッグをまともに出来るようにしていこう。 基本的にpだけ使えばなんでもできるようにしてみた。pは値を返すので、p(1) + p(2)とできる。いちいちcoutで次の行に書く必要は無いので結構便利。 ついでに配列をベクタに変換出来るように改造…

SRM 403 DIV2

SRM 403 DIV2申し込んじゃった。10時からやります。目標は・・・1問突破!! 問題は 続きものの3問。ラッキーナンバーは4,7で、44,47,74,77,444...と続く。 n以下のラッキーナンバーで一番大きいのはどれか。 aからbの中にラッキーナンバーはいくつあるか。 …

SRM 166 DIV2 Level One - 三角形の組合せ

ようやくまともな問題。ま、一番簡単なラインを進んでるから当然か。 工場で働いてるんだけど、毎日毎日金属のスクラップが出るので、そいつを利用して三角形のピクチャーフレームを作りたいと思ってる(センスねぇな)金属片の長さが与えられるので、三角形の…

SRM 165 DIV2 Level One - イギリスの旧硬貨

イギリスの旧硬貨に関する問題。 一番小さい単位がペンスで、12ペンスで1シリング、20ペンスで1ポンド。ペンスを変換してコインの量を最適化せよと。 ややこしいシステムだな。今は100ペンス = 1ポンドらしい。 回答は、前に出てきた時計の問題と変わらず。 …

SRM 164 DIV2 Level One - 右揃え

テキストのフォーマット問題。 全ての長さが同じになるように右揃えにしなさいと。 #include <string> #include <vector> #include <sstream> #include <iomanip> #include <algorithm> using namespace std; #define foreach(bind, item) \ for (typeof ((item).begin()) bind = (item).begin(), __ie = (</algorithm></iomanip></sstream></vector></string>…

SRM 163 DIV2 Level One - シャクトリムシのお食事

英語で泣きそうになるな。 シャクトリムシは結構面白い動きをして、シャクトリムシ - Wikipediaこんなん。 日本語で尺取虫、英語でinchwormと言う位なので、長さを計る虫。という意味は変わらないらしい。 枝に等間隔に葉っぱが付いてる。シャクトリムシも等…

SRM 162 DIV2 Level One - 最小公倍数

C++ではあんまり解きたくない問題。 4,5,6とか範囲が与えられるので、最小公倍数を求める。 #include <vector> using namespace std; class LCMRange { public: static int lcm(int first, int last) { vector<int> numbers; int acc = 1; for (int i = first; i <= last;</int></vector>…

SRM 161 DIV2 Level One

簡単。 カードを配るだけ。ただし、10枚カードがあって、3人に配る場合は3枚づつ。"1231231234"を配ると{"111", "222", "333"} 普段quotient使ってるから気付かないけど、割って掛けたら違う数が出てくるっておかしな話だ。 10 / 3 * 3 = 9 10 * 3 / 3 = 10 …

SRM 160 DIV2 Level One

C++のfindってメンドイ。数字を覚えるのに、1〜0までで"TRADINGFEW"とかテーブルを作っておいて、"LGXWEV"で709とする。という変な暗記法。暗号として使ったほうが効果的だと思う。 #include <string> #include <algorithm> using namespace std; template <class T, class U> int find_index(T se</class></algorithm></string>…

SRM 158 DIV2 Level One - タイヤのローテーション

タイヤのローテーションなんて考えたこと無いよ。 タイヤのローテーションが、1 -> 3, 2 -> 4, 3 -> 2, 4 -> 1こんな感じ。初期設定から何フェーズ目で今の設定になるかという問題。 数学っぽくいけるかと思ったけど、イマイチわからなかったので、テーブル…

SRM 156 DIV2 Level One - ディスクスペースの確保

おっと、一問やり忘れた。 ハードディスクが複数台あるので、ががっとまとめて、最低何台必要か答える。 #include <vector> using namespace std; #define foreach(bind, item) \ for (typeof ((item).begin()) bind = (item).begin(), __ie = (item).end() ;\ bind </vector>…

SRM 157 DIV2 Level One - 数当てゲーム

プログラミング始めた頃に作った気がする。 数当てゲームは、100個の数字の中からランダムに数字を選んで数を当てるゲーム。 もうちょっと簡単にして、上限が9答えが6だとすると、 1〜9までの真ん中(1 + 9)/2の5を選ぶと、上です。と出る。 5は選んだから一…

SRM 155 DIV2 Level One - キープ

こういう問題好きだな。 インカ帝国では文字を持ってなくて、数を表すのに「縄の結び目の形で数で表す」という手法(キープ)を使っていたらしい。 キープ (インカ) - Wikipedia Quipu - Wikipedia, the free encyclopedia へぇぇ。 で、問題。Xで結び目、-が…

SRM 154 DIV2 Level One

また売値と買値。今度はマージンを求める。 入力が文字列なのでちょっと面倒だけど、新しい言語を覚えるには丁度いいレベル。 #include <vector> #include <string> #include <sstream> using namespace std; #define foreach(bind, item) \ for (typeof ((item).begin()) bind = (ite</sstream></string></vector>…

SRM 153 DIV2 Level One

小学生の宿題みたいな。 買値と売値と商品数があって、一番利益が出る商品名返す。利益が無い場合は""を返す。 #include <vector> #include <string> using namespace std; class MostProfitable { public: static string bestItem(vector<int> costs, vector<int> prices, vector<int> sale</int></int></int></string></vector>…

foreachマクロ

C++

なるほど。こうするのか。 #define foreach(bind, item) \ for (typeof ((item).begin()) bind = (item).begin(), __ie = (item).end() ;\ bind != __ie ; \ bind++) しかし、変数補足をどうするのかが問題だ。 マクロの罠にかかる恐れが!! foreach(__ie, ho…

SRM 152 DIV2 Level One - 不動点

くそぅ。問題が全然わかんねぇ。 f(x) = R * x * (1 - x)のRが与えられるのでxを0.25から始めて、不動点を求めていく。200000回不動点を求めてみて、そこから更に1000回求めてみて、最大値と最小値の差がいくつになるかを答える。と、ここまで辿りつくまでが…

SRM 151 DIV2 Level One - PrefixCode

しばらくブログラムよりも英語で悩みそうだ。 電話番号とかだと、東京が03,大阪が06みたいになってる。そういう文字集合をPrefixCodeというらしい。035という番号をどこかの地域に割り当てるなんて事はしないので、PrefixCodeの正当性をチェックしたいと。 {…

SRM 159 DIV2 Level One - 路上駐車できるとこ

ロスで路上駐車の切符切られたことあるww 交通違反って何であんなに凹むんだ!? さて、ルールに基づいて、路上駐車できるところを探していく。 私道の前は停めちゃダメ。 バス停の前と、5,10メートル先は停めちゃダメ。 脇道の前と、5メートル先、5メート…