パスワードを忘れた? アカウント作成
13936862 journal
日記

quaternionの日記: ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか? 29

日記 by quaternion

「ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?」という質問に英語版Quoraで興味深い回答が集まっていたので,一部抜き出して翻訳してみた.

原理的にはループ,再帰を封じられると残るは逐次書いていくしかないのだが,C++のようにイオタ関数を使える言語ならば,表面的にはループを隠せるのでそれを使ってしまうのが手っ取り早い.

回答にはほかに,クラス内の静的メンバをカウンタとして使うテクニックを応用したものも見られた.こちらはインスタンスを配列として定義する必要があるが,配列の各要素の初期化がどのような順序であったとしても,1から100まで順序通り印字される.この方法も表面的にはループを隠せるし,実装によってはループ以外の方法で実行されるかもしれない.

13928741 journal
日記

quaternionの日記: 片手入力 5

日記 by quaternion

うっかり左手人差し指の先端を切断してしまって,両手でキーボードが打てなくなった.そこで効率的な片手入力の方法を探しているのだが,良い方法は無いだろうか.

あと1ヶ月もすると回復して両手打ちが出来るようになるのかもしれないので,それまでは音声とかフリック入力で耐えるのが良いのかもしれないのだが.

13905200 journal
日記

quaternionの日記: 財務省「いいこと思いついた!」 19

日記 by quaternion
13892313 journal
日記

quaternionの日記: C言語で変数をスワップするマクロ 27

日記 by quaternion

H31春基本情報技術者試験問9(C言語)[PDF]で,変数をスワップするマクロが使われていた.本文中には

Swap(x, y) は x と y の内容を入れ替えるために用意したマクロである

とだけ書かれていて,その実装は与えられていない.

このようなSwapマクロはどのように書くのが正解だろうか?

13891352 journal
日記

quaternionの日記: WordやExcelの文書をバージョン管理するベストプラクティスはなんだろう? 15

日記 by quaternion

学生に「ファイルはバージョン管理しろ『レポート最終の最終.docx』とかフォルダに置いてあるの格好悪いぞ,どれが最新だったかすぐにわからなくなるぞ」と口を酸っぱくして言っていたのだが,先日『長期研究計画書2019更新3.xlsx』という恥ずかしい名前のファイルをメール提出していた.こういうオフィス文書の類をバージョン管理したい.ソースコードとの違いは

  • バイナリファイルが中心である
  • ファイルサイズは数KBから数GBまであり得る
  • コミットグラフはあまり分岐しない
  • クラウドストレージサービスにバックアップを取りたい(GitHub や BitBucket だと容量制限が厳しい)
  • リポジトリを共有することはほとんど無い
  • 日本語ファイル名が使えると嬉しい

と言ったところだろうか.Quoraでも回答をもらってBoxに履歴機能があることを知ったのだが,ブランチ機能が欲しいので微妙だ.

ぱっと思いつくのはDropboxフォルダを作って,そのフォルダ内をMercurialで管理しちゃうことなので,これから試してみる.

13890387 journal
日記

quaternionの日記: 100万人規模でAI教育!? 8

日記 by quaternion

100万人規模でAI教育=小中高に専門人材-安倍首相という記事を読んで,センセーショナルに書きすぎなんじゃないかなと思って,元情報の総合科学技術・イノベーション会議(第43回)議事次第を読みに行った.

結論を言うと記事は正確で,むしろ元情報のほうがいろいろぶっ飛んでいる(目指す方向性が間違っている上に方法論も無茶が甚だしい)ように思えた.しかし,もし本当に実現するとしたらどのようなハードルがあるだろうか?

13881220 journal
日記

quaternionの日記: 学生にバージョン管理システムを教えるなら? 2

日記 by quaternion

なにがいいだろう.ツイッターでアンケートを実施してみる.

13859649 journal
日記

quaternionの日記: C言語のポインタの威力と美しさを示せる最も短く理解しやすいコード 32

日記 by quaternion

Quora日本語版に「C言語のポインタの威力と美しさを示せる最も短く理解しやすいコードは何ですか?」という質問があった.ヌル終端文字列のコピー(whileの条件式でコピーするやつ)は自明すぎて面白くないし推奨されるものでもないので,main関数の引数処理を書いてみた.意図したのはargcとargvの更新を一箇所にまとめることだ.

普通はライブラリを使うよねという話もあると思うが,まずい書き方だったたらご批判をこいたい.

13848268 journal
日記

quaternionの日記: C++で畳み込み 23

日記 by quaternion

PythonとC++で畳み込み(fold)をそれぞれ書いてみた.

C++だとどうしても長くなってしまう.

13809876 journal
日記

quaternionの日記: LINEの「信用スコア」 4

日記 by quaternion

LINEが「メッセージアプリのデータを基に算出した信用スコアを活用して融資を行うサービス」を開始するのだそうだ.LINEの信用スコアとは「LINE Score」のことだろう.

LINEにこれ以上プライバシーをぶっこ抜かれるのは勘弁してほしいので,段階的にLINEをやめることにする.

(急にはやめられない.)

typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...