12/24Tweet今日はクリスマス・イヴですね。いって特にクリスマス関係のことはありません。他のプロ達と違って私は実力皆無人間なので文が稚拙なうえに内容も薄いものとなるでしょう。m)の形で表し、resultを求める配列とする。任意の配列とそれに0を0個以上pushして得られる配列は同値とする。通常の記法とは逆に桁が並んでいることに注意。末尾に0をいくらか付け足し、2数の桁数を一致させる。その上で、末尾から各桁の大小関係を確認する。kを求める回数を各々のkにおいて1回以内に抑えられる。インクリメント配列の末尾から(r-1)(rは基数)と等しくないものを探し、そこまでの(r-1)を0に変えた上で探索結果をインクリメント。すべて(r-1)であった場合は全て0にして末尾に1を付加。デクリメント1.3と同様に、配列の末尾から0と等しくないものを探し、そこまでの0を(r-1)に変えた上で探索結果をデクリメント。全て0であった場合は即ち0なので、NaNを返す。効率化3.1私は1で”末尾に0を付加しても同値”といいました。3.2私の実装では配列によって疑似的な分数を表現しています。そのため、適切なタイミングで約分しなければなりません。そこで、分子と分母の最大公約数を求める必要があります。そのアルゴリズムとして、有名なユークリッドの互換法を使っています。47.0.2526.106)で試した所、8188184ms(約2時間15分)かかりました。原因は素数判定の関数が遅いからと思われます。素数がメインだったはずだが。さいごにこんな駄文におつきあい頂きまして、ありがとうございました。取り掛かるのが遅かったせいで実装が雑で文も提出前日に書き始める始末。こんなことにならないように、何事も余裕をもって早めに始めましょう(戒め)GitHubは挫折しました。日付が日付なので、こんな記事よりもよほど秀逸な記事が現れるでしょう。明日は最終日、担当はhideo54さんです。2015無題にコメントElectronでTerminalっぽいウィンドウを実現しようTweetどうも、競プロ一切やってないのにJOI予選をギリギリで突破してしまい蟻本とAOJを始めたHinata(ふぁぼん)です。Calendarも5日目になりますが技術系の記事が少ないという謎の事態になってます。NPCAの誇るプログラマsがまだ記事を書いていないというだけの話ですが。Macのターミナルって素晴らしいですよね?ですよね?あの半透明なウィンドウがたまりませんよね?自分の作ったアプリにも取り入れたいですよね?さて、僕はWebしかいじれません。HTMLとかCSSとかJSくらいしか書けません(書けるとは言っていない)。C++なんて書けません。Swiftなんて知りません。いうわけで、Electronを使います。.を実行すると見知ったいつもの画面が出てくるはずです。CSSをちょっと書いて背景色を透明がかったグレーにしておきます。BrowserWindowを生成するときに渡すオプションでtransparentをtrue、frameをfalseに設定しておきます。Photonを使ってタイトルバーを作ります。Photonその後、信号機(もといウィンドウコントロール)を作ります。最後にボタンを押したときにウィンドウを閉じる/最小化する/フルスクリーンモードにする処理を書き足せば終了です。書いていますが、意外と時間がかかりました。信号機(赤黃緑の円形のボタン)の色と位置を再現するのにかなり時間が取られました。他にもtitleBarStyleをhidden-insetにしてPhotonのバーと信号機を重ねあわせたりしましたが、hidden-insetにすると信号機の位置が下にずれ、タイトルバーを合わせると太くなってしまいました。タイトルバーだけではなく各種ボタンなどを置くにはちょうど良さそうです。