2008年6月28日 (土)

■宣伝:エクセル2007超便利技

「ガスコン研究所」がらみの本が出たので、ちょっと宣伝^^;

Excel115 エクセル2007超便利技
版型:大型本(A4変型判)
発行:学习研究社
価格:880円[税込]
2008年6月28日発売
ISBN:978-4056051957
ASIN:405605195X

ショップ.学研

Amazon

《 C O N T E N T S 》

続きを読む "■宣伝:エクセル2007超便利技"

| | コメント (0) | トラックバック (1)

2008年5月27日 (火)

■Excel:エクセルの计算精度

 「エクセル」本の仕事が一段落して、やっと解放されたというのに、「ブログ」に「エクセル」の记事を书いている私は、どうかしているのかも><;

 というのは、过去记事「■Excel2007:计算ミス」を思い出してしまったからだ。

2007年10月3日の记事
20080527_01
现时点(2008年5月27日)
20080527_02
当时のコメントにも书いたけれど、
> いつのまにか自动更新のアップデートで直しちゃうんだろうな。
本当に「いつのまにか」直っている^^;

続きを読む "■Excel:エクセルの计算精度"

| | コメント (0) | トラックバック (1)

2007年10月 3日 (水)

■Excel2007:计算ミス

助手:所长、Excel2003とExcel2007では计算结果が违うんですけど。
所长:何を言うのかね。表计算ソフトが间违った计算をするはずが……。
Excel2003
20071003_01
Excel2007
20071003_02
所长:んな、バカな!

続きを読む "■Excel2007:计算ミス"

| | コメント (3) | トラックバック (0)

2007年9月12日 (水)

■书籍:运は数学にまかせなさい

20070912_book01 运は数学にまかせなさい ―确率・统计に学ぶ処世术
着者:ジェフリー・S・ローゼンタール
訳者:柴田裕之
监修:中村义作
発行:早川书房
価格:2000円+税

 竹内薫センセが绍介していた「运は数学にまかせなさい」という本の「モンティ・ホール」について书かれている部分を読んだ。あとの部分は、ざっと流し読み程度だけど。

続きを読む "■书籍:运は数学にまかせなさい"

| | コメント (1) | トラックバック (0)

2007年5月16日 (水)

■「ThinkFreeてがるオフィス」

ソースネクストが日本语版「ThinkFreeてがるオフィス」β版の无偿提供を开始した。なにはともあれ、さっそく试してみる。
Thinkfree_01
(※クリックで拡大)
IDの登録はメールアドレスとパスワードを入力するだけなので、とてもカンタン!「ThinkFreeてがるオフィス」のウリは、「Google Spreadsheets & docs」との差别化、「Microsoft Office」との互换性を讴っている。なので、エクセルで作成したファイルをアップロードして、どのくらいの互换性を実现しているのかをチェック。

続きを読む "■「ThinkFreeてがるオフィス」"

| | コメント (0) | トラックバック (2)

2007年4月20日 (金)

■コマネチ大学数学科43讲:ミッシングナンバー

长い春休みが过ぎ、「たけしのコマネチ大学数学科」の新学期。基本的には変わらないものの、装いも新たにというわけで、ガダルカナル・タカの「数学、それは…」というオープニングはなし。いきなり问题が绍介された。

问题:ホテルの部屋の扉に4と9を使わないで番号をつけていくと500番目の部屋は何号室か?

続きを読む "■コマネチ大学数学科43讲:ミッシングナンバー"

| | コメント (1) | トラックバック (1)

2007年4月19日 (木)

■500円でわかる活用技 エクセル関数

ガスコン研究所の「500円でわかる活用技 エクセル関数」が本日(2007年4月19日)発売だ。まだ、アマゾンなどでは、表纸の画像が间に合わない状态だが、见本志が届いたので、宣伝させてほしい。

500円でわかる活用技 エクセル関数
Excel500_02 発行元:学习研究社
着:金矢八十男(ガスコン研究所)
ISBN:4056047715
サイズ:A5 オールカラー148页
価格:500円(税込525円)

Hr

続きを読む "■500円でわかる活用技 エクセル関数"

| | コメント (0) | トラックバック (0)

2007年1月26日 (金)

■Google入社问题

 先日、NHKスペシャル「Google革命の冲撃」が放送された。その中で、Googleの人材募集の広告が绍介されていた。人材募集なのに「Google」の文字は、どこにもなく、「{eの値で、最初に出てくる10桁の素数}.com」とあるだけの広告だ。

 ネットで调べてみると、これは、数年前の出来事らしい。そういえば、そんなことがあったかも知れないと、かすかに记忆が苏ってきたが、たぶん、当时は「へえぇ」という感じでスルーしていたのだろう。

 で、「コマネチ大学数学科」が始まるまでの间、この问题をあらためて考えてみた。自然対数の底「e」の値といったら「ネイピア数」だ。

■たけしの谁でもピカソ:ネイピア数e相性诊断
 2亿桁のネイピア数の中から、ふたりの诞生日が何桁目に登场するかを调べてくれる。しかし、自分の诞生日4桁と相手の诞生日4桁で、8桁にしかならない。しかも、月は12、日は31までと、入力できない数が多すぎる。これでは役に立たない;;

 しょうがないので、「エクセル」で作ろうと思ったが、エクセルのMOD関数は、10桁の数値には対応していない;; VBAを使えば、なんとかなりそうな気がするが、なんか面倒なことになりそうで気后れする。手軽に出来るのは、FlashのActionScriptだ。ネイピア数は、ひとまず置いといて、问题を简単にするため、适当な文字列「222215722222」の先头から顺に3文字ずつ抜き取って、それが素数であるかどうかをチェックする、FlashのAction Scriptを书いてみる。

20070125_01

20070125_02

 动作チェックをすると、确かに「222215722222」の文字列から「157」を抜き出し、それが「素数」であることを判断している。白状すると、素数かどうかのチェックは「Wikipedia」の「素数判定」の项目から、引用させてもらった。

 ここまでくれば、あとは简単。最初の文字列に「自然対数の底e」の値(ネイピア数)を入れ、抜き出す文字列の数を「10」にするだけだ。

自然対数の底「e」の値は、以下のサイトでも入手可能……。

■eの値
 しかし、500亿桁もいらないんですけど^^; 最初の1亿桁だけでも、55MBもある。解冻すると、117MBのテキストファイル;;「エクセル」では、全部を読み込めなかった。

■自然対数の底
 こちらは、指定した桁数の「自然対数の底」の値を表示することができるので、便利だ。とりあえず、250桁を表示してコピーし、それを、FlashのActionScriptに贴り付ける。

20070125_03

20070125_04

 「なぬ~っ!」动作チェックでは、うまく动いてくれたのに、「False」だとぉ~;; あれこれ悩んでみたが、うまい解决策が思いつかない。たぶん、どこかでオーバーフローしているのだろう。いつも「结果が出ればいいや」と、コマ大数学研究会ばりの体当たりプログラミングをしているから、こういうことになる。やはり、基础ができてないと、こういうところでボロが出る。付け焼刃の数学の知识ではダメらしい。「アホなことやっているなぁ」と思った方は、迷える酔っ払いの爷に爱の手を!

(1月26日追记:ループ数が10のままだぁ^^;;)

(1月27日追记:偶数を除外していなかった;;やっと正解に!)

 数年前の问题なので、ネットで调べれば、正解はわかる。正解は「7427466391」。

2.718281828459045235360287471352662497757247093699959

5749669676277240766303535475945713821785251664274274

6639193200305992181741359662904357290033429526059563

0738132328627943490763233829880753195251019011573834

 で「7427466391.com」へアクセスすると、次の问题が提示される。
《以下、引用》
Congratulations. You've made it to level 2.
Go to www.Linux.org and enter Bobsyouruncle as the login
and the answer to this equation as the password.

f(1)= 7182818284
f(2)= 8182845904
f(3)= 8747135266
f(4)= 7427466391
f(5)= __________

《引用终わり》
 こちらの问题は、f(1)~f(4)の数値が10桁で、すべての数値を足すと「49」になることに気が付けば、さほど、难しくはない。これなら「エクセル」でも、解けるぞ。

20070125_05

セルA1に、先ほどの「自然数の底」サイトからコピーした数値を贴り付ける(セルの书式设置は文字列にしておく)。MID関数を使って、1文字ずつ、移动させながら10文字分を抜き出す。オートフィルの连続入力をするため、行番号を求める、ROW関数を使って、抜き出す文字列の开始位置を求めている。さらに、抜き出した文字列を1文字ずつ分解して数値に换え、「=VALUE(MID(A3,$B$2,1))」その合计を出す。合计が「49」になる行を见ると、f(1)~f(4)の値になることを确认できる。

20070125_06

5番目の数値は、129行目に出现する。ネイピア数の小数点以下、127桁目だ。

 结局、「コマネチ大学数学科」が始まるまでの小手调べのつもりだったが、番组が始まっても、こちらの问题に気をとられたまま、酔いが限界に达している。なんとしても、この记事をアップしてから、眠りにつこう。今回の「コマネチ大学数学科」の问题は、かなり难しいという印象……。

今回、参考にした素数についてのサイト

■a prime number
 1から2147483647までの素数を计算する。残念;;10桁だが、「9999999999」まで表示できないと、今回の问题には対応できない;;

■ゆいのホームページ:ソフトウェア&小技メモ
 341,550,071,728,321以下の素数(15桁)を、1个当り数秒で求める。短时间で素数を判定するアルゴリズムのキーワードは「2,7,61」? このサイトを利用すれば、10桁の素数表を作成することができるが、素数表とネイピア数とのマッチングを试みる方法は、いささか、现実的でないような気がする。

■AjaxによるRSAアルゴリズム体験
 360桁の素数でも一瞬で表示する。なんで、こんなに速く素数を生成できるの? 素数生成のアルゴリズムは、いくつかあって、それが素数であるかどうかを検证することのほうが难しいのか……。いわゆる、因数分解するほうが大変という「N≠NP」问题なのかな?

| | コメント (1) | トラックバック (1)

2007年1月 6日 (土)

■コマネチ大学数学科マス1グランプリ

 昨年末の「M-1グランプリ」は「チュートリアル」が获ったけれど、もう一つの「M-1」、「マス1グランプリ」は谁の手にと楽しみにしていた「コマネチ大学数学科マス1グランプリ」。期待に违わず、かなり楽しめた。しかし、「いいちこ」渍けの头では、リアルタイムに参戦できるわけもなく、録画した番组であらためて问题を振りかえってみた。

●ROUND1 计算问题

M1_round1_01

计算すれば答えは出るのだけれど、いかに式を简単にするのかがポイント。私がパッと答えることができたのは、问9だけだった;;

●ROUND2 最速図形バトル

计算问题で出遅れたマス北野だったが、さすがに図形问题では最速。しかも、上のFlashで绍介している解法は、ハサミを4回入れなければならないが、マス北野は、たった2回ハサミを入れるだけで、正解した。じつは、2番目に速かったのは、西本さん。しかし、思考速度は速いものの、不器用ぶりを発挥し、図形を并び替えることに手间どり、东大生チームに先を越されてしまった。ツッコミどころも満载の西本さんであった。

●FINAL ROUND 一骑打ちバトルロイヤル
マス北野と数学オリンピックの2年连続チャンピオン、西本さんとの一骑打ちとなった。
M1_round3_01_1
问题は「1000本の棒を使って正四面体を作り、积んでいくと、何段になるでしょう?」というもの。ひとつの正四面体を作るには、6本の棒が必要。これを1000本以内で、図のように积み上げていくと、何段作ることができるかということ。

M1_round3_02

1段目は正四面体が1个。2段目は3个。3段目は6个……と続く。関系ないが、「Shade」で正四面体を描くことが、こんなに大変だとは思わなかった。で、1つの正四面体を描いたなら、あとは、コピーして贴り付けるだけなのだが、これも、意外とめんどうくさい。2段目で挫折……。それを考えると、コマ大数学研究会のがんばりは、スゴイ!と思う。

M1_round3_03

というわけで、エクセルで表にしてみた。段ごとの正四面体の数は、1段目からその段までの数を足したものになる。セルB4に「=SUM($A$3:A4)」として、オートフィルで以下の行を连続入力する。合计の栏も同じく、セルC4に「=SUM($B$3:B4)」とする。この合计に6を挂ければ、棒の数が出る。9段目で990本になり、10段目では1000本を超えてしまう。

これは、マス北野の方法と同じだ。西本さんは、最速ですぐにこの问题を解く公式を导き出した。ただ、番组では説明の部分がカットされていたのが残念だ。

美しき数学の时间では、竹内薫センセが解説。この问题、パスカルの三角形を用いても解くことが可能とのこと。

M1_round3_04

正四面体の合计数が表れているではないか。しかも上から数えてみると、9段目が「165」になる。まるで、手品で「引いたカードをあらかじめ予言しておきました」みたいな、パスカルの三角形。パスカル、あんたはスゴイ! ふと、今、思いついたのだけれど「同じ大きさの镜饼を3つ并べて、その上に1个置く。このような形で10段の镜饼を作るには、镜饼は何个必要ですか?」という、お正月らしい问题ならば、コマ大数学研究会は、これほど苦労しなかったはず……あ、これじゃ、番组として成り立たないのか^^;
でも、段ごとに必要な正四面体の数を考えるとき、镜饼で考えると、わかりやすいかもよ。

| | コメント (3) | トラックバック (3)

2006年12月15日 (金)

■コマネチ大学数学科30讲:ディオファントス

テレビドラマ「仆の歩く道」のオープニングで毎回、草ナギ刚君が自転车に乗っているシーンが流れるんだけど、草ナギ君が「ムラタセイサク君」に见えてしまうのは、私だけ……?「たけしのコマネチ大学数学科」第30讲:ディオファントス。

20061215_01 今回の问题は「立方体で直方体を作り、外侧の面に色をつけたとき、色がついた面とついていない面の数が同じになるのは、どのような直方体か答えなさい」。

図に提示してある、横幅(X)2、高さ(Y)2、奥行(Z)2の场合も、色のついた面と色のついていない面の数が同じになる。问题はこれ以外の组み合わせを答えることになる。

20061215_02

コマ大数学研究会のように豆腐やサイコロステーキで検证するのは大変なので、エクセルの表を作成した。「Excel」がインストールされているパソコンならば「comaneci30.xls」をクリックして「开く」ボタンを押してほしい。

「ディオファントス」は、古代ギリシャの数学者。未知数が2以上ある方程序の整数解を求めるものを「ディオファントス方程序」と呼ぶらしい。

20061215_03

答えは、2通りある。コマ大数学研究会は、残念ながら1通りの答えしか见つけられなかった。东大生、マス北野とも正解。コマネチフィールズ赏は、マス北野が辞退し、东大生コンビが受赏した。

「ディオファントスの墓碑」问题(引用:Wikipedia)

ディオファントスの人生は、6分の1が少年期、12分の1が青年期であり、その后に人生の7分の1が経って结婚し、结婚して5年で子供に恵まれた。ところがその子はディオファントスの一生の半分しか生きずに世を去った。自分の子を失って4年后にディオファントスも亡くなった。

ディオファントスがχ歳に亡くなったとすると、
20061215_04

これを解くと、χ=84となる。结局、ディオファントスは84歳で亡くなったらしい。

| | コメント (0) | トラックバック (0)

2006年12月11日 (月)

■コマネチ大学数学科29讲:カタラン数(补习)

 头の中でカタラン数が「カタラン、ワカラン」と音を立てている。仕事をしなければならないのだが、このままでは気になってしょうがない。そこで、头の中を整理する意味で、エクセルの表にしてみた。

20061211_01

 EXCELがインストールされているパソコンならば、「comaneci29.xls」をクリックし、「开く」を実行してみてほしい。

 问题を解くためには、できるだけ问题を単纯化して、それを一般化する手法を取る。

20061211_02

20061211_03

 「P」とか「C」とか、わからない记号が出てきたが、これは数学のお约束ごと。数学が难しく感じたり、理解不能と思えるのは、谁かに教えてもらわないと一生わからない记号(お约束)が多いことなんだよね。

 その点、この问题を解くのに参考にした、结城 浩さんの「プログラマの数学」という本は、数学が苦手な人にも、きちんと记号の意味を説明をしてくれている。优しさは(理解の)易しさにもつながるのだ。

 これで、エクセルの表の「人数」に「10」と入力すれば、正解が出るのだけれど、今回のテーマは「カタラン数」なので、カタラン数とはどういうものか……。

20061211_04_2

2007年3月9日追记:図の间违いを修正;;

 パスカルの三角形を半分にしたような形なのだが、この表に表れる「1、1、2、5、14」という数の并びが「カタラン数」と言うらしい。今回の问题の2人、4人、6人、8人の场合のカップル(握手成立)数になっているのだ。

 マス北野が短时间で正解に辿り着いたのは、(2+5)の2倍が、次の数字「14」になることに気づいたからだ。
つまり、(2+5+14)×2が、10人の场合の答えになると考えた。マス北野のこういった法则を见つける能力というか、数学的な直観力は「さすが」だよね。

| | コメント (2) | トラックバック (0)

2006年12月 9日 (土)

■パスカルの三角形

 「コマネチ大学数学科」の竹内薫センセの解説によると「パスカルの三角形」は小学校の教科书に出ているとのことだけど、ホントなの? いやぁ、惊きだなぁ。现在の教科书がどうなっているのか知らないけれど、少なくとも、私は小学校で习った覚えがない;;

 で「パスカルの三角形」については、ひとつ前のエントリ「カタラン数」のFlashムービーの中でも、ちょこっと触れたけれど、ひとつ上の阶层の隣合うセルの和が下の阶层のセルの答えになっているもの。たとえば、こんな具合に……。

20061209_01

 この表は、Excelで作成したもの。これを「セルの条件付き书式」で偶数と奇数で色分けしてみる。すると、こんなふうになる……。

20061209_02

 おお、シェルピンスキーのギャスケットと同じになるではないか。これぞ「美しき数学」の奥深さを感じさせるよね。

《参考》
■「プログラマの数学」结城 浩/着

■WIKIMEDIA CINNIBS : Sierpinski triangle
http://commons.wikimedia.org/wiki/Sierpinski_triangle?uselang=ja

プログラマの数学 Book プログラマの数学

着者:结城 浩,结城 浩
贩売元:ソフトバンククリエイティブ
Amazon.co.jpで详细を确认する

| | コメント (0) | トラックバック (0)

2006年11月24日 (金)

■コマネチ大学数学研究会「诞生日」

今日は「たけしのコマネチ大学数学科」は休讲。代わりに弾さんが11月22日の记事「直感的な定理の反直感的な帰结」で问题を出してくれたので、考えてみよう。

最后に问题。妻と私は诞生日が同じなのだが、カップルどおしの集まりにおいて、何组以上のカップルがいれば我々のようなカップルが一组以上含まれるでしょう?

この问题を解く前に、竹内薫センセの「头がよみがえる算数练习帐」で出されている问题を考えてみてほしい。

30人のクラスの中で、ふたりの诞生日が同じになる确率はどのくらいでしょう?

诞生日が一致する确率は、1(100%)から诞生日が一致しない确率を引いたものと考えることができる。
つまり「=1-(364/365)」、3人なら「=1-(364/365)×(363/365)」。30人の场合は……。

20061123_00_1
こんな计算をすることを考えただけで、脳のブレーカーが落ちて、真っ暗闇の脳停止状态に陥ってしまう。そこで、コマ大数学研究会らしく、あれこれ考えず、まず体を动かしてみよう。

20061123_01_2

エクセルのA列1行目に「364」と入力し、2行目に「363」と入力。この2行分を选択して、オートフィルで29行目まで连続入力する。

20061123_02_1

30行目に1行から29行までの数値を挂け合わせる関数、「=PRODUCT(A1:A29)」と入力する。B列の30行目には「=365^29」(365を29回挂けた数)と入力。どちらも、あまりに大きな数なので、表示できず、指数形式で表示される。ちなみに「5.94803E+73」とは、「5.9…」を约「6」とすると、その后ろに「0」が73个つく数だ。こうなると読み上げることも难しい。

话を戻すと、A列は「分子」、B列は「分母」に分けて积を计算したので「=A30/B30」とすると约「0.3」つまり、诞生日が一致しない确率は、约30%。诞生日が一致する确率は「=1-A30/B30」で约70%ということになる。

1クラス30人の中で、谁かと谁かさんの诞生日が一致する确率は、予想(直感)に反して意外にも大きい……というのが、この问题の趣旨だ。

そこで、冒头の弾さんの问题に戻る。これを确率の问题としてとらえると、カップルのふたりの诞生日が一致する确率は「1/365」であることは明白(うるう年は考虑外)。同じ结果を导くのに、わざわざ式を「=1-(364/365)」などと复雑にする必要はない。つまり、どのカップルも诞生日が一致する确率は、1/365なので、365组のカップルを集めたら、そのうちの1组くらいは、同じ诞生日のカップルがいると考えてもいいんじゃないの。弾さん夫妻と同じ诞生日のカップルとは、一言も言っていないので、どんな诞生日だろうが、とにかく诞生日が同じカップルがいればいいのだから。

で、もしも、これを确率の问题として捉えないとどうなるか。「サイコロを振って『1』の目が出る确率は?」と闻かれれば「1/6」だが、「サイコロを何回振ったら『1』の目が出るでしょう?」と闻かれたら、予想や直感に反しても「実际、やってみないと、わからない」と答えるしかない。

| | コメント (0) | トラックバック (0)

2006年11月 3日 (金)

■コマネチ大学数学科25:和算

今回は江戸时代の数学书「尘劫记」に出てくる「百五减算」という算术の问题。

ある人の年齢を 3、5、7 でそれぞれ割った余りがそれぞれ 1、2、3 になるとき、その人の年齢はいくつでしょうか?

で、さっそく私も「エクセル」で「百五减算」を作ってみた。「尘劫记」や「百五减算」は、Wikipediaに详しい解説が载っているので、そちらを参照してほしい。

20061103_01

※ガダルカナル・タカさんの场合

ポイントは、3、5、7の最小公倍数が105になること。エクセルでは「=LCM(3,5,7)」とすれば、简単に求めることができる。もっとも、3、5、7は素数なので、3×5×7=105ということだ。

で、105をそれぞれ3、5、7で割ると、35、21、15になる。求める数(年齢)を「n」とし、3、5、7それぞれの数で割った余りを、a、b、cとすると、
百五减算の公式は、
n=70a+21b+15c-105k となる。(kは、nが105よりも大きいとき、何回が引くという意味)

番组を见ていて、一番ひっかかったのは、なぜ「35」だけを2倍して「70」にするかだろう。ちゃんと竹内センセは解説をしてくれているのだが、こちらの理解力が足らず、モヤモヤした感じが残った。

これは実际に「=mod(35,3)」としてみるとわかる。「35」を「3」で割ると、余りが「2」になる。

つまり、こーゆーことだ。
70は、5と7で割り切れるが、3で割ると1余る数
21は、3と7で割り切れるが、5で割ると1余る数
15は、3と5で割り切れるが、7で割ると1余る数
105は、3でも5でも7でも割り切れる数(最小公倍数)

番组では、全员が正解した。しかし、纳得がいかないのは「コマネチ・フィールズ赏」をコマ大数学研究会が取ったこと。东大生チームは、ちゃんと数式を立てて解き、条件を満たす数として、52、157、262を出した。そこで、コマ大のロケで问题と同じ余りが「1、2、3」になった番组プロデューサの「吉田さん」が、157歳や、262歳はありえないから、「52歳」という答えだった。これを「最终的には见た目」と判断されたが、これが现実的な答えだ。百五减算だって、江戸时代105歳を超える长寿の人はいなかったろうから、105を引いているわけで、その点では同じだと思う。

私はコマ大数学研究会を応援しているが、今回の竹内裁定には疑问が残る。マス北野も「こういう情けが番组の视聴率を下げる」と発言していた。

でも、今回は全员正解の引き分けなので、オープニングの
ダンカン「倍数の例を挙げてください」
ガンビーノ小林「9は3の倍数」
〆さばアタル「25は5の倍数」
无法松「501はリーバイス」
という、久々のヒットで「フィールズ赏」をもらったと考えれば纳得。コマ大、ファイト、ファイト、ファイト!!

| | コメント (2) | トラックバック (1)

2006年10月19日 (木)

「500円でわかる活用技エクセル」発売

Excel_book これまでの学研「500円でわかる」シリーズにハンディーなコンパクトサイズ(B5版)の新シリーズが登场。10月19日発売なので、もう书店には并んでいるはず。146ページ、オールカラーで500円(税别)は、お买い得だと思う。本屋さんで见かけたら手に取って、そのままレジへ进んでください(^^;

 

 

■セブンアンドワイ
http://www.7andy.jp/books/detail?accd=R0217076

■アマゾン
http://www.amazon.co.jp/gp/product/4056045798

| | コメント (0) | トラックバック (0)

2006年10月 7日 (土)

500円でわかる活用技エクセル

 今日は、五反田にある学研の编集部で「500円でわかる活用技エクセル」の校正。别の仕事で来ていた、イラストレーターの「森きのこ」さんと会う。つい最近まで、森きのこさんのお兄さんが「森チャック」さんであることを知らなかったんだよね(^^;

 で、私が书いた「500円でわかる活用技エクセル」は、これまでのA4変形版ではなく、B5のハンディ版。発売日は10月19日だけど、もう「7&Y」や「Amazon」で予约を受け付けているみたいだ。

セブンアンドワイ

Amazon.co.jp

| | コメント (0) | トラックバック (0)

2006年6月 1日 (木)

六芒星のパズル

 このブログにトラックバックを送ってくれた「Atelier-T.T ゲームプログラミング工房」で「六芒星(ろくぼうせい)」のパズルをプログラミングで解くというおもしろい试みをしている。

Tr_011  パズルのルールを确认しておくと、図の○の部分に1~12までの数字を入れ、各列の合计がすべて同じになるようにする(数字は重复使用してはならない)。

 私は「C++」を持っていないし、使ったこともないので、公开しているプログラムを试してみることはできないのだが、「エクセル」で挑戦してみようという気になった。

 もしも、この问题を「コマ大数学研究会」のように体を张り、ひとつひとつ数字を入れて确かめる方法をとったならば、どれくらいの组み合わせが考えられるのだろうか。

Tr_012  一度使った数字は使えないので「=12×11×10……×1」とエクセルで计算すると「479001600」通りとなった。これは「12の阶乗」だ。挂け算をいくつも并べるのは面倒なので、「エクセル」にも関数が用意されていて「=FACT(12)」とすれば、答えが出る。

 4亿7900万通りをすべて调べるわけにもいかない。「エクセル」でこの问题を解くのは无理っぽい。そこで、いくつかの仮説を立てる。まず、1列の4つの数字を足した合计がいくつになるか。1~12までを全部足すと「78」、これを12で割ると、ひとつの○に入る数字の平均は「6.5」、それが4つで「26」だ。

Tr_012b 仮説1:列の合计は「26」
仮説1が正しければ、1列には偶数2个、奇数2个が入る(もしくは、偶数4个、奇数4个の组み合わせも考えられる)。
辺の顶点、交差するところで数字は2回使われるので、ひとつの列を考えると、前半部分だけを决定すれば、后半部分は他の列によって自动的に决まる。

Tr_013  こうして「六芒星パズル」を解くための(あくまで补助するだけの(^^;」表を作成した。数字はとりあえず便宜的に入れたもの。列(3)と列(4)は、入力する必要はなく、他の列をセル参照している。そして、答えのチェックの意味で列の合计を表示している。これだけでも、図を纸に描いて、数字を书いては消すよりは、ずっとラクちんだ。

Tr_014 Tr_015  まず、A列の「1」と「2」を残して考えてみる。すると、仮説では、列の合计が「26」になるはずなので、残りの后半は、「11」と「12」だ。ここでF列を考えると、すでに「2」があるので、次に大きい「9」と「10」を使う。すると、B列(1)は「5」となる。

Tr_016  同様に列Eは、すでに后半部分に「10」と「1」が入っているので、「7」と「8」を入れると、うまく「26」になる。试行错误を缲り返し、完成したのが、この表。なんとかすべての数字を入れることができた。

Tr_017  前出の「Atelier-T.T ゲームプログラミング工房」によると、解は「960」通り。このうち、回転、镜像による重复は、6×2で12通り。すべての解に対して12通りの重复があるので、この「六芒星パズル」には、80通りの解があることになる(らしい……99.9%の仮説)。

| | コメント (0) | トラックバック (0)