投稿

2月, 2018の投稿を表示しています

人生、Python、三角数

イメージ
【イントロ】  日々の生活に疲れてくると、どうでもいいこと考えてしまいますよね。 たとえば、 「もっと別の生き方があったのではないか?」、 とか 「この自然数は何個の三角数で表せるんだろうか?」 とか。  そこで本記事では、Pythonを使用して「任意の自然数が何個の三角数で表せるか」判定するプログラムを作成したので、公開します。 【方法】  プログラムはPythonで書きました。本当はRustを使って書きたかったんですがそもそも書き方で悩むとかいう別問題があったので、アルゴリズムを考えて書きやすいPythonを採用しました。  そもそも、問題意識のきっかけは” yukicoder ”さんのこちらの問題「 No.634 硬貨の枚数1 」です。要は「任意の自然数が何個の三角数で表せるのか判定しましょう」という問題です。大きな数だと一体何個必要なのか想像もつきません。そこで小さな数で試しに実験してみたのが図1です。 図1、10までの自然数を三角数で分解した場合 ・・・どうも必要な個数が3個を超えない予感がしてきました。 検索してみると、 こういう定理 (または こちら ) 「すべての自然数はたかだかm個のm角数で表せる」 が存在することがわかりました。やっぱ数学ってすごい。。。 この定理のお陰で与えられた問題は「任意の自然数は三角数1,2,3個で分割できるか判定する」と読み替えることが出来ます。この問題をPythonで解くこととしました。 【結果】 作成したプログラムは下記のとおりです。 もっとスマートな書き方があると思いますが、素人なので許してください。 import math #三角数の計算 def triangle(n): p = n*(n+1)/2 return p #与えられたN以下の最大の三角数を満たすqを返す def kirisute(n): p=(-1+math.sqrt(1+8*n))/2 q=math.floor(p) return q #与えられたnまでの三角数のリストを返す def trilist(n): list=[] for i in range(1,n+1): x=triangle(i) li

2月の気になった物理系記事

2月の気になった物理系記事まとめです。 2月は仕事もプライベートもダメダメでした(´・ω・`)。 1111型鉄系超伝導体の母物質に見られるディラック電子 https://research-er.jp/articles/view/67517 コメント:CaFeAsFの単結晶をもちいた量子振動測定により、反強磁性相のフェルミ面を決定した研究。1111というのと、ベリー位相が見えたことが新規性かな?非双晶化してアレ測りたい。 デバイスに依存しない量子暗号 https://phys.org/news/2018-02-good-quantum-trickery.html コメント:”エントロピー蓄積”とよばれる手法を利用することで、通信機器に依存しない量子暗号通信が可能なことを示した研究。この分野も進展すごいなぁ。 CdSにおける巨大な第二次高調波の電気的制御 https://phys.org/news/2018-01-optical-contrast-electronic-transistors.html コメント:CdSにおける10^4以上のOn/OFF比率をもつ非線形光学効果の観測。光トランジスタなどの光電気デバイスの開発につながるかも。 カイラルフォノン https://phys.org/news/2018-02-scientists-chiral-phonons-d-semiconductor.html コメント:WSe2にみられるカイラルフォノン、つまり原子の回転振動の発見。あたらしいタイプのフォノン関連の現象がみつかるかな? トポロジカル絶縁体レーザー https://phys.org/news/2018-02-topological-physics-lasing-highly-efficient.html コメント:フォトニックトポロジカル絶縁体を利用した新原理のレーザーの理論と実験的アプローチ。トポロジカル絶縁体はレーザーに利用できないと考えられていたが、高効率で欠陥にも強いレーザーが作れることを示したとのこと。つよい。 スピンゼーベック効果と熱スピンガルバニック効果 https://phys.org/news/2018-02-advances-spintronics-technology.html コメント:シリコンとパーマロイを組み合