アカウントすら指定できないので(OpenIDを使用してログインする。)エントリだけ書けばよい。
作者別: NAL-6295
頑張るという事
本日注文した本2冊
最近、ちょっと疎かになっているので、そろそろ、ちゃんとやっておこうと思って。
インサイドWindows Communication Foundation (マイクロソフト公式解説書 Microsoft Visual Studio 2008)
- 作者: Justin Smith(ジャスティンスミス),(株)クイープ
- 出版社/メーカー: 日経BPソフトプレス
- 発売日: 2008/06/26
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 13回
- この商品を含むブログ (17件) を見る
マイナな言語なのでいつ廃盤になっても良いと思ったのと、ちょうどiPhone SDKにもふれた新しい版が出ていたので。
こちらは、思い立ったときに、勉強できるように。
- 作者: 荻原剛志
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/05/28
- メディア: 大型本
- 購入: 47人 クリック: 424回
- この商品を含むブログ (156件) を見る
携帯のテンキーがめんどくさくなってきた
揶揄するのがブーム?
凄く便利で分かりやすいのに、見た目だけで保守派に嫌われそうな??演算子
?? 演算子 (C# リファレンス)
?? 演算子は、左側のオペランドが null 値でない場合にはこのオペランドを返し、null 値である場合には右側のオペランドを返します。
??演算子は下記、サンプルのようなコードの場合、aがnullなら0を返す。という動作をします。
int? a = null; Console.WriteLine(a ?? 0);
もちろん、二つの値だけではなく、以下のような使い方もできます。
左から右の順に初めてnullでは無い値を返します。
下の場合cが初めてnullでは無い値なのでcの値である2を返します。
int? a = null; int? b = null; int? c = 2; int? d = null; Console.WriteLine(a ?? b ?? c ?? d ?? 0);
新しい演算子なので、当たり前ですが見慣れないので、三項演算子に並んで保守派に忌避されそうな演算子ですね。
ほんの30秒だけMSDNの該当ページを読めば分かる処理内容で分かりやすく読みやすくなるのですが・・・。
以前のパズル:nまでの整数を二つの組に分けて合計した結果が同じだった2番目と3番目を出力するで見つけた式は隣接三項間漸化式という事が分かった
数式にするとこんな感じ?勉強していないので表記が間違っているかもしれませんが・・・
を任意の整数とし
としたとき、
となる。
パズル:nまでの整数を二つの組に分けて合計した結果が同じだった2番目と3番目を出力する その2 – NAL-6295の舌先三寸
で見つけた式は隣接三項間漸化式という事がわかった。(多分。)
という事は、この漸化式から一般解が導ければ、その後、数学的帰納法で証明することが可能という事か?
#まだ、続いていたのか。という話題。
ある整数xとyの最小公倍数を出す時の法則を見つけた
ある整数xとyの最小公倍数を出す計算をして結果を眺めていたら、ある法則がある事がわかった。
xとyをそれぞれ素因数分解して、xの素因数リストとyの素因数リストを出し、
xの素因数リストとyの素因数リストの重複部分を打ち消し、
残ったxの素因数リストを乗算して算出した値にyを掛けると、
xとyの最小公倍数になる。
例:
xが12でyが20の時、
xの素因数が2,2,3
yの素因数が2,2,5
重複部分を打ち消しあうと
xの素因数の残りが3
yの素因数の残りが5
yにxの素因数の残りを掛けると60
(ついでに)xにyの素因数の残りを掛けても60
12と20の最小公倍数は60
無知ゆえの発見が楽しい。
#ちなみに、やっと数学的帰納法の意味がわかりました。
ある整数xとyの最大公約数を出す時の法則を見つけた
前回のエントリで最小公倍数を出す法則を見つけたが、その過程で最大公約数を出している事が分かった。
xとyの素因数リストの中にある重複部分を掛けた結果が最大公約数。
重複した部分が無い場合は1が最大公約数。
xとyをそれぞれ素因数分解して、xの素因数リストとyの素因数リストを出し、
xの素因数リストとyの素因数リストの重複部分を打ち消し、
残ったxの素因数リストを乗算して算出した値にyを掛けると、
xとyの最小公倍数になる。
例:
xが12でyが20の時、
xの素因数が2,2,3
yの素因数が2,2,5
重複部分を打ち消しあうと
xの素因数の残りが3
yの素因数の残りが5
yにxの素因数の残りを掛けると60
(ついでに)xにyの素因数の残りを掛けても60
上記例を使うと、
xの素因数 2,2,3とyの素因数 2,2,5のうちの重複部分である、
2,2
をかけると、4となり、
12と20の最大公約数は4である。
となる。
最大公約数を算出するためのユークリッドの互除法
2 つの自然数(または整式) a, b (a ≧ b) について、a の b による剰余を r とすると、 a と b との最大公約数は b と r との最大公約数に等しいという性質が成り立つ。この性質を利用して、 b を r で割った剰余、 除数 r をその剰余で割った剰余、と剰余を求める計算を逐次繰り返すと、剰余が 0 になった時の除数が a と b との最大公約数となる。
素因数分解しなくても、ユークリッドの互除法という方法を使えば、もっと早く算出できるという事がわかった。
というか、読んだから分かったんだけど。
20と12なら
20/12 = 1あまり8
12 / 8 = 1 あまり 4
8 / 4 = 2 あまり 0
で4が最大公約数となる。
これは、便利な方法だ。