Island Life

2019/06/20

ループを使わずに1から100まで

「ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?」へのIchi Kanayaさんの回答 で紹介されている Conner Davis 氏の解がおもしろい。

1000/(999^2)を計算すると、

0.001002003...099100101...

というふうに小数点数以下3桁ごとに001, 002, ..., 099, 100 が現れる。任意精度演算ライブラリを使ってそこで表示を打ちきれば題意を満たす。

Gaucheは多倍長整数演算は組み込みで持っているが、任意精度の小数を計算するライブラリはついてこない。ただ、有理数で計算してスケールすることはできる。

あと、formatにはn桁ごとにコンマを入れる機能がある (桁数および挿入文字は指定可能)。なのでこうするとまるで1つづつ計算してるかのように:

gosh> (format #t "~399,'0:d\n" (floor (* (/ 1000 (square 999)) #e1e300)))
001,002,003,004,005,006,007,008,009,010,011,012,013,014,015,016,017,018,
019,020,021,022,023,024,025,026,027,028,029,030,031,032,033,034,035,036,
037,038,039,040,041,042,043,044,045,046,047,048,049,050,051,052,053,054,
055,056,057,058,059,060,061,062,063,064,065,066,067,068,069,070,071,072,
073,074,075,076,077,078,079,080,081,082,083,084,085,086,087,088,089,090,
091,092,093,094,095,096,097,098,099,100
#<undef>

(フォーマット指示子の399,'0のところは、冒頭に00を置くため。)

Tag: Gauche

2019/03/22

パスポートと免許更新

パスポートと運転免許が相次いで有効期限を迎えたので、どちらも残り1月を切ってからえっちらおっちらと重い腰を上げて更新手続きに行ってきた。パスポートは10年ぶり、免許も8年ぶりで、これだけ間が開くと色々変わっている。

パスポート写真は、前回は写真屋で撮ってもらった覚えがあるが、この10年で街の写真屋というのが悉く姿を消してしまった。日本みたいな自動の証明写真機械というのもあまり見ない。皆どうしてるんだとwebで調べるともはや時代は自分で撮って大きさ合わせてプリントするようになっていた。申請書もwebフォームに入力したらpdfがダウンロードできるので印刷して署名だけ記入すればよい。

免許の方はちょっとあせった。というのも、前回はダウンタウンのサテライトオフィスに直接行った覚えがあるので今回もそれだろうと思っていたんだが念のため調べると、なんとwebでの予約制になっていた。で、指定サイトに行ってダウンタウンオフィスを見ると、2ヶ月以上先まで埋まっているではないか。いやもう残り1ヶ月ないんだけど。あわてて他のDMVオフィスを一づつチェックするも、最短で1月ちょっと先が開いていたのが島の西側のDMV。一応予約を入れたがその日にはもう免許が切れているのでバスで2時間かけて行かばならない。いやそれだけでなく免許の無い数日間の子供の送迎やら買い物やら非常に面倒なことになった。

と、かみさんに愚痴ったら彼女すかさず奥様ネットワークを使って「朝早くDMVオフィスに行けば整理券が配られて当日手続きができる」という情報をゲットしてきた。そんなこと市のサイトに書いてないやんけ。ともかく期限内に更新できるならありがたい。翌日早速朝7時からダウンタウンに出かけて9時までには更新手続きを完了した。奥様ネットワークおそるべし。

前回はその場で新しい免許証もらえたような気がしたんだが勘違いだったかな。今回はその場でもらえたのはカラーコピーした紙の仮免許証で、プラスチックのやつはそれから数週間して郵送されてきた。

次は8年後だがまた色々変わってるんだろうか。

Tag: 生活

2018/12/17

Mojave & Synergy

MojaveにしたらSynergyがつながらなくなって1時間くらい浪費してしまった。

これで解決→ https://symless.com/forums/topic/5871-macos-mojave-beta-synergy-fails-to-start/

2018/12/12

思考のツール

らむ太の中学校には定期テストが無い。その替わりというか、半期に1度、研究発表がある。 最初の発表が昨日あった。大学の教室を借りて一般観客を入れてのプレゼンである。 一般観客と言ってもほとんど親だけど。

一人当たり発表時間は6分程度なのだが、 「型」に沿って発表原稿を組み立てていて、情報密度は十分高い。 テーマも「トランスジェンダーとバスルーム」「映像業界でのジェンダーバイアス」 といった社会学的なものから 「エンジンのアイドリング由来の温室効果ガス」「プラスチック廃棄物の海洋汚染」 といった自然科学寄りのものまで多様で、面白かった。

さすがに議論の緻密さという点では粗いところはあるにせよ、 自分の関心を明確に言葉にして、 定量的なデータを典拠とともに示して主張を裏付ける、 といった型を身につけることは、思考のツールとしても効果が高いように思える。

発表の型はこんな感じ(発表時は明示されないけど、練習に付き合って原稿を見てたので):

  1. Hook & Introduction
  2. Introduction of Issue
  3. Personal Story
  4. Personal Growth
  5. Math Claim
  6. Multiple Perspectives
  7. Multiple Perspective Summary
  8. Systems Thinking
  9. Data Collection
  10. Action Plan
  11. Call to Action

Tag: 生活

2018/10/03

Student-led conference

らむ太は小学校の4年生から、年数回ある学校での面談のうち1回は生徒主導型の三者面談(student-led conference, SLC)だったのだが、これはわりと一般的なようで中学校では基本的に全ての三者面談がSLCになるようだ。

SLCとは、生徒が学校でやったことについて自分が進行役となってレポートし、親と教師から質問を受ける形式。中学ではラップトップが支給されてるので、WeeblyでSLC用のwebpageを自分で作ってそれを見せながらのプレゼンだった。

まあ生徒主導と言っても、目標、達成したこと、改善すべき課題、など進行のテンプレは与えられてるし、教師が適宜助け船を出すのだけれど、自分の責任で準備して、他者からフィードバックを受けるというのは良い経験だと思う。

Tag: 生活

More entries ...