「整数」を含む日記 RSS

はてなキーワード: 整数とは

2020-07-02

プログラミングスクールなんかに通わない方がいい理由

教材のレベルが低い

ほとんどのプログラミングスクールの何万円もする教材よりも、市販の数千円の参考書や、公式チュートリアル無料)の方がはるかに質が高いです。既にプログラミングができる人の参考書としてだけではなく、初学者入門書としても、後者の方が適切です。

率直に言って、これだけ良質な情報がどこにいても手に入る時代に、独学でプログラミング習得できない人は、もう諦めた方がいいと思いますプログラミングなんて別に生きる上で必要スキルじゃないのですから包丁持ったことすらない人が、何十万も払って料理習いたいと思うのかって話です。

講師レベルが低い

これが最大の理由です。

まず現実的に、ちゃんプログラミングができる人は、プログラミングスクール講師になんかなりません。少なくともこの日記を書いている時点では。

レベルが低いというのは、実務上の話をしているのではなく、本当に素人に毛が生えた程度ということです。彼らのほとんどには、コンピュータサイエンスに関する体系的な知識がありませんし、そもそも基礎的な言語仕様すら把握していません。

これは「文字列整数に変換する関数名前がToInt()だったかParseInt()だったか覚えていない」などということではありません。そんなものは調べればいいわけです。彼らはもっと基礎的なこと、たとえば「浮動小数点数には誤差がある」とか、そういうレベルのことを理解していないのです。

から彼らの「講義」は、間違いだらけであるか、言ってること自体は正しくても著しくピントがずれたものばかりです。昨日今日プログラミングを覚えたばかりの人と大して変わらない知識で、動くコード自己流に解釈しているだけなのですから、当然そうなります。喩えるなら、中学英語教師中学英語知識しかないようなものです。彼らはその範囲で「プログラミングを覚えるコツ」を編み出しています

2020-06-17

プログラミングができない奴は、プログラミング以前の何かが欠如しているのだと思う

半年研修をして、

  • 標準入力から文字列を受け取るにはこうする
  • 文字列を数値に変換するにはこうする
  • 整数型の変数宣言するにはこうする
  • 変数に値を代入するにはこうする
  • 足し算はこうする
  • 値を画面に出力するにはこうする
  • 0から決められた数までを、iに代入しながら繰り返すのはこうする

ということを教えたあとでも、標準入力に1以上の整数入力して、1からその数までの和を出力しなさい、という問題が解けるのは全体の2割程度

残りの8割はおそらく、プログラミングができないのではなく、「問題文の日本語が正しく読めない」とか「プリントに書かれた通りにタイプできない」とかそういう病気なんだと思う

2020-06-14

UNコーディング面接こんな感じでした

入室と自己紹介

面接官「やあ!わたしはベン。会えて嬉しいよ!」

ぼく「こんにちは、ベン。ぼくはWashlet2000。便意はどう?」

面「超いい感じだよ。きみは?」

ぼ「ぼくも超いい感じさ」

面「それはよかった。わたし部署AのToiletエンジニアで3年目なんだ。社内ツールを作ってるよ。Benki関係ツールで、超クールでExcitingなやつなんだ」

ぼ「それはクールだね」

面「簡単自己紹介をお願いしていいかな?」

ぼ「うん。ぼくは経験豊富自宅警備員で…〇〇で貢献して…リーダー経験が……」

面「Cool(たぶん聴いてない)。じゃ、問題に入ろうか。わたしから問題はね…」

ぼ「あ、はい

出題と質疑

面「Unkを管理するコードを書いて」

ぼ「Unkの管理…」

面「そう。Unkってさ、知的生命体でしょ?あれを実現するの。『分裂』もあるから注意して」

ぼ「なるほど。えーと、それはHankeyみたいな普通のUnkだよね。えーとえーと」

面「…」

ぼ「えーと、そうだ、Unicodeとか決まってる?」

面「決まってるよ。U+1F4A9」

ぼ「うーん。じゃあUnkって何を保持したらいい?種類、個数?」

面「いい匂いだね。ここでは簡単のため、そうだね、個数だけにしようか」

ぼ「ならUnkの個数を持つ感じかな」

面「多分そうだね」

ぼ「えーと、そして、『分裂』のときに増える個数、『消滅』したかどうかを返すAPIが要る」

面「うん。あと新しいUnkが産声を上げたときも」

ぼ「そうだね。じゃあ内部的には、分裂した時の増殖個数を計算して、unkで現在の個数を管理する感じかな…」

面「それで行けそう?」

ぼ「待って。それで、APIはdivision()、roar()、isDead()でいい?」

面「うん、そうだね。とりあえずAPIはそれで良いよ」

ぼ「OK。あ、division()でもうそれ以上増えれなときには、どうする?」

面「それもいい匂いだ。そうだね、今の個数を返すようにしようか」

ぼ「あと何かあるかな…」

面「…」

ぼ「Unkだと、大腸菌を表示したり、そこからBenkiにジャンプしたりできるけど…」

面「あとで必要になるかもね」

ぼ「だよね。速度は…当然すべてO(1)でやらないといけない」

面「速いほうがいいね

ぼ「あとは、えーと、Benkiクリアもあとで付けそうだな。まあこれは簡単か」

面「そうだね」

ぼ「まとめると、Unkの個数を整数のIntで持ち、unkで管理する。division()が呼ばれたら、分裂して、isDead()が呼ばれたら、生存の真偽を返す。分裂時にはroar()を呼び出して、Unkoooooooooo!×(増殖個数分)産声をあげる」

面「それで良さそう?」

ぼ「うーん、多分…なにかあるかな…」

面「『消滅』を何度かしたあと、『分裂』をしたらどうなる?」

ぼ「ん?……あ、だめだ!そうか、『消滅』『消滅』『分裂』で過去の個数うんこに増えてしまう!つまり、isDead()が真なら、その時のunkを初期化しないと!」

面「そう!ならどうする?」

ぼ「うーん。変数maxUnkを足せばいいかな。isDead()はmaxUnkより大きな場合は真。そのときはunkを初期化する」

面「なるほど。大丈夫そうだね」

ぼ「あとはOKかな?…よし、じゃあコード書いてみるよ(マーカーを手に取る)」

コーディング

ぼ「まずクラス外観はこんな感じかな…(カキカキ)」

class Unk:
    def __init__(self): pass
    def division(self): pass
    def roar(self): pass
    def isDead(self): pass

面「ん?これ何の言語?」

ぼ「pyてょnだよ。ぼくはpyてょn使いなんだ(自己紹介で言ったけど…)」

面「Cool

ぼ「そして、Unkの個数を整数で持つよ。名前はunkでいいか

面「OK

ぼ「それと有効な最大unk数を保持するmaxUnkが要るね」

class Unk:
    def __init__(self):
        self.unk = 1
        self.maxUnk = 1024
        
    def division(self): pass
    def roar(self): pass
    def isDead(self): pass

面「なんでunkを1で初期化したの?」

ぼ「これは『いまの個数』だから。初めは1つのUnkが存在するのを想定してる」

面「なるほど」

class Unk:
    def __init__(self):
        self.unk = 1
        self.maxUnk = 1024
        
    def division(self):
        self.unk = self.unk*2
        
    def roar(self):
        print("Unkoooooooo! ×", self.unk//2)
        
    def isDead(self):
        return self.unk > self.maxUnk

ぼ「division()、roar()、isDead()も書くとこんな感じかな…」

面「増殖の計算は2倍したんだね」

ぼ「そう。ちょっと手動テストしてみるね…。えーとunkが無いときのdivision()、roar()は大丈夫そうかな…。初回のdivision()でunkのサイズが1になって…そのあとroar()したら…isDead()は……」

unk = Unk()
while True:
    if not unk.isDead():
        unk.division()
        unk.roar()
    else:
        break
---
Unkoooooooo! × 1
Unkoooooooo! × 2
Unkoooooooo! × 4
Unkoooooooo! × 8
Unkoooooooo! × 16
Unkoooooooo! × 32
Unkoooooooo! × 64
Unkoooooooo! × 128
Unkoooooooo! × 256
Unkoooooooo! × 512
Unkoooooooo! × 1024

面「大丈夫そう?」

ぼ「うん…たぶん…」

面「じゃいくつか聞くよ」

2020-06-05

Galois拡大って何?

分離的かつ正規代数拡大のことです。

集合Kが2つの二項演算+: K×K→K、*: K×K→Kを持ち、以下の性質を満たすとき、Kは体であるという。

  1. 任意のa, b, c∈Kに対して、(a + b) + c = a + (b + c)
  2. ある元0∈Kが存在して、任意のa∈Kに対して、a + 0 = 0 + a = a
  3. 任意のa∈Kに対して、ある元-a∈Kが存在して、a + (-a) = (-a) + a = 0
  4. 任意のa, b∈Kに対して、a + b = b + a
  5. 任意のa, b, c∈Kに対して、(ab)c = a(bc)
  6. 任意のa, b, c∈Kに対して、a(b + c) = ab + ac、(a + b)c = ac + bc
  7. ある元1∈Kが存在して、任意のa∈Kに対して、1a = a1 = a
  8. 任意のa∈K\{0}に対して、ある元a^(-1)∈Kが存在して、aa^(-1) = a^(-1)a = 1
  9. 任意のa, b∈Kに対して、ab = ba

体の例
  • 有理数全体の集合Q、実数全体の集合R、複素数全体の集合Cは、通常の和と積について体になる。一方、整数全体の集合Zは体にはならない。
  • 素数pについて、整数をpで割ったあまりの集合Z/pZ := {0, 1, ..., p-1}は、自然な和と積によって体になる。

代数拡大

K, Lを体とする。K⊂Lとなるとき、LをKの拡大体という。L/Kが拡大であるともいう。もちろん、これはLの部分群Kによる剰余群のことではない。

C/Rや、C/Qは体の拡大の例である。K(X)/K(X^2)なども体の拡大の例である

L/Kを体の拡大とする。任意のa∈Lに対して、K係数の多項式f(X)存在して、f(a)=0となるとき、LをKの代数拡大体、またはL/Kは代数拡大であるという。

そのような多項式存在しない元が存在するとき、LはKの超越拡大体、またはL/Kは超越拡大であるという。

代数拡大の例

C/Rは代数拡大である

なぜならば、任意のz∈Cはz = x + yi (x, y∈R)と表わせ、z* = x - yiとおくと、zは二次方程式

X^2 -(z + z*)X + zz* = 0

の解だから

Kを体とする。K上の任意多項式F(X)に対して、Fの根を全て含む体Lが存在する。言い換えれば、FはLで

F(X) = a(X - a1)...(X - an)

と一次の積に分解する。このようなLのうち最小のもの存在し、Fの(最小)分解体という。Fの分解体はKの代数拡大体である

最後の一文を証明する。

LをFの分解体とする。Lの部分環Vを

K[X1, ..., Xn]→L (f(X1, ..., Xn)→f(a1, ..., an))

の像とすると、VはK上のベクトル空間である。各aiはn次多項式の根であるからaiのn次以上の式はn-1次以下の式に等しくなる。従って、VはK上高々n^2次元の有限次元ベクトル空間である

Vは整域であるから、0でない元による掛け算は、VからVへの単射線形写像である。したがって、線形写像の階数と核の次元に関する定理から、この写像全射である。よって、Vの0でない任意の元には逆元が存在する。つまり、Vは体である

Lは、Kと各aiを含む最小の体であり、V⊂Lなので、L=Vである

さて、Lの元でK上のいかなる多項式の根にならないもの存在したとし、それをαとおくと、無限個の元1, α, α^2, ...は、K上一次独立となる。これはVが有限次元であることに矛盾する。□

上の証明から特に、KにFの1つの根αを添加した体K(α)は、Kの代数拡大体である。このような拡大を単拡大という。


拡大次数と自己同型群

L/Kを代数拡大とする。LはK上のベクトル空間となる。その次元をL/Kの拡大次数といい、[L : K]で表す。[L : K]が有限のとき、L/Kは有限拡大といい、無限大のとき無限代数拡大という(上の証明でみたとおり、超越拡大は必ず無限次拡大である)。

M/K、L/Mがともに有限拡大ならば、L/Kも有限拡大であり、[L : K] = [L : M] [M : K]。

α∈Lとする。K上の多項式fでf(α)=0をみたすもののうち、次数が最小のものが定数倍を除いて存在し、それをαの最小多項式という。

[K(α) : K]は、αの最小多項式の次数に等しい。なぜならば、その次数をnとするとαのn次以上の式はすべてn-1次以下の式になるため、[K(α) : K]≦n。1, α, ..., α^(n-1)が一次従属だとすると、n-1次以下の多項式でαを根に持つもの存在することになるので、[K(α) : K]≧n。よって、[K(α) : K]=n。

Lの自己同型σでKの元を固定するもの、つまり任意のa∈Kに対してσ(a)=aとなるもの全体のなす群をAut(L/K)と書く。

任意の有限拡大L/Kに対して、#Aut(L/K) ≦ [L : K]。


Galois拡大

L/Kを有限拡大とする。#Aut(L/K) = [L : K]が成り立つとき、L/KをGalois拡大という。L/KがGalois拡大のとき、Aut(L/K)をGal(L/K)と書き、L/KのGalois群という。

Galois拡大の例

L/Kを有限拡大、[L : K] = 2とする。#Aut(L/K) ≦ [L : K] = 2なので、Aut(L/K)に恒等写像以外の元が存在することを示せばよい。

[L : K] = 2なので、α∈L\Kが存在して、1, α, α^2は一次従属。したがって、α^2 - aα + b = 0となるa, b∈Kが存在する。解と係数の関係から、α, a - α∈Lは、2次方程式X^2 - aX + b = 0の異なる2解。

α∉Kより、K⊕KαはK上2次元ベクトル空間で、K⊕Kα⊂LなのでL=K⊕Kα。

σ: L→Lをσ(1)=1, σ(α)=a-αとなるK線形写像とすれば、σは全単射であり、Kの元を固定する体の準同型でもあるので、σ∈Aut(L/K)。□

C/RはGalois拡大。

Gal(C/R)={id, σ: z→z*}

平方因子のない有理数αに対して、Q(√α)/QはGalois拡大。

Gal(Q(√α)/Q) = {id, σ: 1→1, √α→-√α}。


正規拡大

L/Kを有限拡大とする。任意のα∈Lに対して、αのK上の最小多項式が、Lで1次式の積に分解するとき、L/Kを正規拡大という。

L=K(α)とすると、L/Kが正規拡大であるのは、αの最小多項式がLで一次の積に分解するときである

K(α)/Kが正規拡大で、さらにαの最小多項式重根を持たなければ、αを他の根に写す写像がAut(K(α)/K)の元になるから、Aut(K(α)/K) = αの最小多項式の次数 = [K(α) : K]となり、K(α)/KはGalois拡大になる。

nを自然数として、ζ_n = exp(2πi/n)とする。ζ_nの最小多項式は、Π[0 < m < n, gcd(m, n)=1](X - (ζ_n)^m)であり、Q(ζ_n)/QはGalois拡大である


分離拡大

L/Kを有限拡大とする。任意のα∈Lの最小多項式重根を持たないとき、L/Kは分離拡大という。

体Kに対して、1を1に写すことで一意的に定まる環準同型f: Z→Kがある。fの像は整域だから、fの核はZの素イデアルである。fの核が(0)のとき、Kの標数は0であるといい、fの核が(p)であるとき、fの標数はpであるという。


Q, R, Cの標数は0である。Z/pZの標数はpである

標数0の体および有限体の代数拡大はすべて分離拡大である

F_2 = Z/2Zとする。F_2係数の有理関数体F_2(X)/F_2(X^2)は分離拡大ではない。

実際、XのF_2(X^2)上の最小多項式は、T^2 - X^2 = (T - X)(T + X) = (T - X)^2となり、重根を持つ。

Galois拡大であることの言い換え

有限拡大L/KがGalois拡大であるためには、L/Kが分離拡大かつ正規拡大となることが必要十分である


Galois拡大の性質

L/KをGalois拡大、Gal(L/K)をGalois群とする。

K⊂M⊂Lとなる体Mを、L/Kの中間体という。

部分群H⊂Gal(L/K)に対して、L^H := {a∈L| 任意のσ∈Hに対してσ(a)=a}は、L/Kの中間体になる。

逆に、中間体K⊂M⊂Lに対して、Aut(L/M)はGal(L/K)の部分群になる。

次のGalois理論の基本定理は、L/Kの中間体がGalois群で決定されることを述べている。

L/KをGalois拡大とする。L/Kの中間体と、Gal(L/K)の部分群の間には、以下で与えられる1対1対応がある。

  • 部分群H⊂Gal(L/K)に対して、K⊂L^H⊂L
  • 中間体Mに対して、Aut(L/M)⊂Gal(L/K)

さらに、以下の性質を満たす。

  • H'⊂H⊂Gal(L/K)ならば、K⊂L^H⊂L^H'⊂L
  • K⊂M⊂M'⊂Lならば、Aut(L/M')⊂Aut(L/M)⊂Gal(L/K)
  • 中間体K⊂M⊂Lに対して、#Aut(L/M)=[L : M]。つまり、L/MはGalois拡大
  • 部分群H⊂Gal(L/K)に対して、#H = [L : L^H]、#Gal(L/K)/H = [L^H : K]
  • 中間体K⊂M⊂Lに対して、M/Kが正規拡大(L/Kは分離的なのでM/Kも分離的であり、従ってGalois拡大)であることと、Gal(L/M)がGal(L/K)の正規部分群であることが同値であり、Gal(L/K)/Gal(L/M)〜Gal(M/K)。同型はσ∈Gal(L/K)のMへの制限で与えられる。

K=Q, L=Q(√2, √3)とすると、Gal(L/K)はσ√2→-√2とする写像σと、√3→-√3とする写像τで生成される位数4の群Z/2Z×Z/2Zである

この部分群は{id}, {id, σ}, {id, τ}, {id, στ}, {id, σ, τ, στ}の5種類があり、それぞれ中間体L, Q(√2), Q(√3), Q(√6), Kに対応する。

2020-06-03

有限体って何?

位数が有限な体のことです。

定義

集合Fに二項演算+: F×F→Fが定義され、以下の性質を満たすとき、Fは群であるという。

  1. 任意のa, b, c∈Fに対して、(a + b) + c = a + (b + c)
  2. ある元0∈Fが存在して、任意のa∈Fに対して、a + 0 = 0 + a = a
  3. 任意のa∈Fに対して、ある元-a∈Fが存在して、a + (-a) = a + (-a) = 0

Fの元の個数をFの位数という。

上に加えて、さらに次の性質を満たすとき、Fをabel群という。

  • 任意のa, b∈Fに対して、a + b = b + a

Fが環であるとは、2つの二項演算+: F×F→F、*: F×F→Fが定義され、以下を満たすことである

  1. Fは、+を演算としてabel群になる
  2. 任意のa, b, c∈Fに対して、(ab)c = a(bc)
  3. 任意のa, b, c∈Fに対して、a(b + c) = ab + bx
  4. 任意のa, b, c∈Fに対して、(a + b)c = ac + bc
  5. ある元1∈Fが存在して、任意のa∈Fに対して、1a = a1 = a

Fが環であり、さらに以下を満たすとき、Fは可換環であるという。

Fが環であり、さらに以下を満たすとき、Fは斜体または可除環であるという。

  • 任意のa∈F\{0}に対して、あるa^(-1)が存在して、aa^(-1) = a^(-1)a = 1

Fが可換環であり、斜体であるとき、Fは体または可換体であるという。

基本的定理

位数有限な斜体は、可換体である。(Wedderburn)

有限体の位数は、pを素数として、p^nの形である

逆に、任意素数pと自然数n≧1に対して、位数p^nである体が同型を除いて一意的に存在する。q=p^nとして、この体をF_qと書く。


  • pを素数として、整数をpで割った余りに、自然加法乗法を入れたものは、有限体F_pになる。
  • F_pに、F_p上既約な多項式の根を添加した体は有限体になる。逆にq=p^nとなる有限体F_qはすべてこのようにして得られる。
  • F_pの代数閉包Fを固定すると、F_q (q=p^n)はFの元のうちx^q=xを満たす元全体である

有限体の代数拡大

有限体F_qの有限拡大はF_(q^m)の形。

これはすべてGalois拡大であり、そのGalois群はFrobenius準同型

φ_q: x→x^q

で生成される位数mの巡回群である

2020-05-30

(再改題)はてブスター複数コメント付与する問題と「多様性

https://bookmark.hatenastaff.com/entry/2020/03/31/180820

上記記事で言うところの、「より豊かで多様な価値観が集ま」りにくいのは、1ユーザー複数コメントスターをつけた場合も、1ユーザーが1つのコメントスターをつけた場合も、等しく「1スター」と数えられてしまうことに原因があると思う。

それって、投票行為で言うならば、人によって投票用紙の枚数が違うようなものであり、例えば、特定価値観を持つ人間が、同じ意見コメント全部にスターをつけた場合、まるでその意見多数派であるかのような状態が生じうる。

また、差し障りの無いどうでもいいコメントトップになってしまうことがあるのも、自分が本当に推したいコメントのついでに、最大公約数的なコメントスターを付けてしまうので、それが多数派になることが理由であろう。

でも、これらの問題解決法は簡単で、複数コメントスターをつけたユーザーポイントを下げればいいだけの話である

それには例えば、1ユーザースターを、1記事あたりトータルで「1スター」に設定するという方法があるだろう。

まり、あるユーザーが2個のコメントスターをつけたらそれぞれのコメントに「1/2スター」を付与、3個のコメントスターをつけたらそれぞれのコメントに「1/3スター」を付与…とすればいい。

そうすると、先程の「特定価値観を持つ人間」の例では、多数のコメントスターをつける行為は、単に「1スター」を薄く広める意味しか持たず、数値としてはコミットして来なくなる。

また、「どうでもいいコメント」の例も、ユーザーがそのルール付けを知れば、本当に推したいコメントにだけスターをつけるようになり、最大公約数的なコメントスルーされるようになる。

そのため、コメント環境多様性観点でだいぶ改善するものと思って、自分の案を増田に書いてみたのだが、ちょっとした難点もある。

まず、「スター」のカウントが面倒になるという点である。具体的には、「スターカウントを表示する際に、分数が出てくるというのは直感にわかりにくい。

まあ、それだけなら、表示時は端数切り捨てにすればいいだけなのだが、もう1つ問題がある。

それは、1ユーザーあたり「1スター」とすることで、スターの全体数が目減りしてしまう点であり、これはコメントを書く側のモチベーションを下げてしまうかもしれない。その点は多様性確保の観点からは由々しい。

から、一記事あたりのスター数は「1スター」でなく、「nスター」に設定するのが良いと思う。ここで、nは約数の多い整数である

例えば、n=12なら、1個のコメントだけにスターをつけたら「12スター」、2個のコメントスターをつけたら「6スター」、3個のコメントスターをつけたら「4スター」…などと、スター数が整数になるパターンが増える。

また、従来の「1スター」が「12スター」になるかもしれないわけで、コメントを書く側は一発逆転を狙ってくるだろうからコメントにも多様性が生まれてくるだろう。

追記

ブコメでは「人気のコメント」を廃止するって意見があるけど、個人的には嫌だなあ。ずらずら新着順で並んだ中から「玉」なコメントを探すのは一苦労な気がする。

少なくとも個人的には、そうなったら他人コメントを見る習慣はなくなると思う。まあ、「人気のコメント」をファーストビューにしないってのは、多様性にも配慮できるって観点で賛成だけど。

追記2)

コメントスター偏り自体問題じゃないことに気づいたので、タイトルを変更しました。

(旧タイトルはてブスター特定コメントに偏る問題解決法)

追記3)

1つのコメントに1ユーザーが沢山のスターをつけても人気順は変わらないことを指摘するブコメトラバがあるけど、そのことは一応知ってたつもり。

これは書き方が悪くて本当にごめんやけど、言いたいのは、1ユーザー複数コメントに1つずつスター付与する場合に、沢山のコメントスター付与したユーザーほど有利になる現象があるかもって話でした。

追記4)

これまで、文頭を「運営側対策しなくてはいけないほど、好ましくない特定コメントスターが偏るのは、」と書いており、これはこないだの「世の中」カテゴリスター非表示になったことを差しているつもりでしたが、上記リンク先の記事には、"「より豊かで多様な価値観が集まるプラットフォーム」を目指す一環として、今回はスターの表示方法見直しました"とあり、それは私の認識いであり誤解を与える表現でしたので、修正しました。

追記5)

ブコメを見ると、自分にとって気に食わない特定の「思想性」を排斥する話だと勘違いされているみたいなので、「思想性」という用語は消しました。

代わりに、上記の「多様な価値観」について述べたくなったので、そのあたりを追加して再改題しました。すると、カラースター下りカラースターは今まで通りの扱いにする旨の内容)は要らないと思えてきたので、消しました。

あと、「多様な価値観」を確保するんなら、スターの数値をいじるんじゃなくて、「人気のコメント」のアルゴリズムを変更するだけで十分なような気がしてきました。分数カウントはやっぱりわかりづらいかもしれません。

2020-05-28

非負実数ってなんでそんなに偉そうなの?

おかしくない?

自然数に引き算が出来るように負の数が導入されて

整数に割り算が出来るように分数が導入されて

分数コーシー列が収束するように完備化されたのに

なんでいまさら負の実数を捨てるの?

2020-05-27

anond:20200527180924

ちょうど、整数から有理数構成するのは、一般環論で整域の商体を扱えば、その例として挙げれば十分というように。

いまどきは128Bit 8Bitだと16文字までの文字列を1回の演算比較処理できる。つまり、1をひいて8で割って1を足した整数部で処理しないといけないから旧いアルゴリズムを若干意味解釈するところがある

2020-05-22

中学高校数学ユークリッド幾何学不要である

中学高校数学から、いわゆるユークリッド幾何学廃止してよい。理由単純明快で、何の役にも立たないからだ。

大学に入ったら、どの学部に行っても、「補助線を引いて、相似な三角形を作って〜」などと言ったパズルをやることは絶対にない。メネラウス定理高校卒業以降(高校数学指導以外で)使ったことのある現代はいないだろう。こういうことは、別に高等数学知識の無い高校生でも、常識で考えて分かると思う。たとえば工学で、弧長や面積を測定する機器必要になったとして、補助線パズル適用できるごく一部の多角形などしか測れないのでは話にならない。現代数学および科学技術を支えているのは、三角関数ベクトル微分積分などを基礎とする解析的な手法である

もちろん、たとえば三角比定義するには「三角形内角の和は180°である」とか「2角が等しい三角形は相似である」等のユークリッド幾何学定理必要になる。そういうものを全て廃止せよと言っているわけではない。しかし、余弦定理まで証明してしまえば、原理的にはユークリッド幾何学問題は解ける。また、実用上もそれで問題ない。したがって、余弦定理を初等的な方法で示したら、ユークリッド幾何学手法はお役御免でよい。

高校数学では、以下の分野が特に重要だと思われる。

これらはいずれも、高等数学を学ぶ際に欠かせない基礎となる分野である。仮にユークリッド幾何学が何らかの場面で使われるとしても、いくらなんでも微分積分などと同等以上に重要だと主張する人はいないだろう。

現在、これらの分野は十分に教えられていない。微分方程式と一次変換は現在2020年5月)のカリキュラムでは教えられておらず、ベクトル文系範囲から除かれ、代わりにほとんど内容の無い統計分野が教えられている。また、高校生にもなって、コンパスと定規による作図みたいなくだらないことをやっている。本当に、どうかしているとしか言い様がない。

ユークリッド幾何学を教えるべきとする根拠代表的ものは、証明の考えに触れられるというものだ。つまり代数や解析は計算主体であるが、ユークリッド幾何学証明主体なので、数学的な思考力を鍛えられるというものだ。

しかし、これは明らかに間違っている。別にユークリッド幾何学の分野に限らず、数学のあらゆる命題証明されなければならないからだ。実際、高校数学教科書を読めば、三角関数加法定理や、微分ライプニッツ則など、証明が載っている。そもそも数学問題は全て証明問題である関数極値問題は、単に微分が0になる点を計算するだけではなく、そこが実際に極値であることを定義に基づいて示さねばならない。数学思考力を養うのに、ユークリッド幾何学が他の分野より効果的だという根拠は無い。

anond:20200522181459

そもそも敵は4位以下のやつでしょ

仮に増田氏が17500票(nとする)すべてゲットしたとすると、残り32500票を3つにわけたとき、その中の3位のやつの得票が一番大きくなるのは10833(mとする)。これなら17500>10833だから絶対当選

このnを少しずつ下げていって、n>mとなるnの最小値が答えでしょ。

で、mは≒(50000-n)/3だから

n>(50000-n)/3

になる最小の整数を探せばいいはず。

12500じゃないかな。

久々に日記書こうとしたらクイズ5問出された。

はてラボ人間性センター

回答結果

日本で2番目に面積の広い都道府県は?

正解: 岩手県

■7より大きくて9より小さい整数は?

正解: 8

聖書によると、神は何日間で世界を作ったと記載されている?

不正解: 7日間

日本国民の祝日のうち、1年で最初にあるのは「元日」(1月1日)ですが、最後にあるのは何の日でしょうか?

不正解: 12月31日

■主に日差しや強い明かりから目を保護するために着用される黒色のメガネの事を何という?(カタカナ5文字)

正解: サングラス

2020-04-15

テレワーク経過まとめ

統計学でいうところの数的要約ってやつ (4/15 afternoon)

めんどくさいなぁと思って先延ばしにしてたが、やっとこさ重い腰をあげて着手。久しぶりじゃないか?なんとかmacroってのをコーディングしたのは?

 食後の運動 (4/15 afternoon)

出かけてきた。今日暖かい。この前だったかな?どこかのアフリカの75歳の大統領が執務室でトレーニングしてたのをテレビでやってた。アレを思い出した。

お昼ご飯オムライス (4/15 lunch time)

いつものごとく妻子と一緒に。オムライススープ菜の花(?)。おそらくあの菜っ葉菜の花

デッカイタスク他人に割り振られた (4/15 morning)

テレワーク始めてから初回じゃないだろうか。デカタスク委任した!これで当分「暇なんでなんかタスク割り振って下さい」って催促されんですむかも。いまのところ催促されたことないけど‥

引継ぎ資料眺め (4/15 morning)

注釈ほとんどない引継ぎ資料にらめっこしながら使えるデータとするために思案中。むかし"整数の羅列を見ながら法則性を見破る練習"させられたが、そんな感じだ。そういえば中学生の頃思い出した. 定期試験で学年で一人だけ証明問題に正答した. 数学先生が大騒ぎしてた。...あの頃は賢かったんだなぁ。

現実逃避 (4/15 morning)

いやなタスク現実逃避先送り。音声読み上げソフトについてそろそろ調査するかな?漢字読み間違いとかしないのか?全文カナで文章をしたためる必要?その場合Kakasi必要になるなぁ。懐い

起床直後に (4/15 morning)

簡単タスクに取り組む。朝からpush簡単なのはすぐこなせるけど、難しいのはいつまでも先送りだよなぁ。

ああもうこんな時間! (4/14 evening)

で5時。リモートリポジトリの作るURL間違えていた_| ̄|○リポジトリを作り直し、ローカル側でもgit remote set-urlしたり、git push --mirrorしたり、・・面倒と言えば面倒。しかもその途中でsejukuのサイトを踏んでしまった_| ̄|○*昨日の朝

昼食は自宅でたこ焼き (4/14 aftern.)

自宅での昼食。妻子も在宅だから 家族そろってたこ焼きね。やり始めが遅かったのもあるが、ちまちま焼いていたら2時過ぎ!!スペイン人みたいな昼休みだ。スペインは、シエスタ込みで3時くらいまで昼休みだったっけ?普通会社リモートモード場合、1時にビデオミーティングとか設定されてていやでも端末に戻らなあかんようにしてるんだろか?

結局出社! (4/14 morning)

出社した。

要出社かも (4/14 morning)

どうもあのデータは社内NASしか存在しないような気がする。取りに行く必要ってことか?どうせ昼休み中に外出するしそのときついでに出社するか

commitsが (4/14 morning)

20の大台を突破git使いこなせていると言っていいのでは?

テレワーク夕方 (4/13 evening)

あらもうこんな時間。定時近い。今日初めてコラボレーターからのcommit, pushがあった!初push記念日だね!

テレワークな日の昼食 (4/13 aftern.)

本日の昼食は、妻子とともに。妻は無職子供休校中。ということで家族そろって自宅で昼食!煮魚(定食)だった。いま食後のカフェ中。

ある日の朝 (4/13 morning)

頻繁に休憩をはさみながらもなんとかテレワーク存続中!頑張れ!俺

2020-03-15

anond:20200315130152

そう。intはあくまシステムというか「そのプログラム言語のなかで一番便利な整数の型」くらいの意味しかないんだけど、それが32bitCPUだから32bitになった「わけではなく」

32BitCPUが出ても長らくint=16bitで扱われてきていたんだぞう。

多分int=32bit整数 の時代よりもint=16bit整数 のほうが歴史は長いはず。

具体的に言うとVB4とかがそうやった。(いつintが32ビットになったのかはわからん

2020-03-01

anond:20200301083027

サッカーでは、手を使うの禁止という単純なルールから複雑な展開が生まれて、ある流れがなんでそーなるかプロ解説したりする。将棋もそうだ。

数学最初整数とは直線とはみたいな単純な決めごとがあって、そこからの展開で、なんかむずかしい話になったり、役に立ったりする。

なんでそうなるのか説明するのはサッカー将棋解説にあたる。「歩は一マス前進ね」のような基本ルール提示と同じじゃない

2020-02-10

anond:20200210093129

ベース必要性について物理的にいうと、

高音の中にはかならず低音が含まれている、

これはどの楽器も逃れられない物理真実

バンバン鳴らしまくった高音をとめてようやく

ハモってベースが鳴ってたことにきづく(それまで意識にのぼらない)こともよく有るし

ライブの客席や雑踏だとあらゆるざわめきが全部足されて

結局低音のようなブーンとかゴーという唸りしか残らないのも経験的に知ってるだろ

でも無音からの低音には高音が居ないという意味だけじゃなく

力強さや鼓動、原始的などの意味あいが生じる

から貴重なんだよ

全部の色を混ぜると黒になるからこそ

真っ白な紙に黒い線があることが衝撃的に感じる

包含関係について詳しく説明すると

ノーマルのドと高音のドは高音のドの周波数が低音のドの整数倍だね

http://hikaen2.hatenablog.com/entry/20150612/1434127268

低音のドは高音のドの波を1つ飛ばしにしたようなものなんだ

高音をバンバンならすとオクターブ低音の音符は含まれてかき消されてしまうよ

2020-02-08

『さあ少女緊縛ショーの始まりや.mp5』のアレの私的な整理

https://www.nicovideo.jp/watch/sm36233489

便宜的に緑の重さを 1 と仮定します。

また紫の重さを x, 黄の重さを y, 橙の重さを z とします。

与式は以下の通りです。

x+2 > y+z+1

x+z > y+2

x+z = 2z+2

y+1 = z+2

===

それぞれを整理すると

x+1 > y+z ... (1)

x+z > y+2 ... (2)

x = z+2 ... (3)

y = z+1 ... (4)

---

(1) について (3), (4) より

x+1 > y+z

⇔ (z+2)+1 > (z+1)+z

⇔ z+3 > 2z+1

⇔ 2 > z ... (5)

---

(2) について (3), (4) より

x+z > y+2

⇔ (z+2)+z > (z+1)+2

2z+2 > z+3

⇔ z > 1 ... (6)

---

(5), (6) より

2 > z > 1 ... (7)

---

(7), (3) より

2 > z > 1

⇔ 4 > z+2 > 3

⇔ 4 > x > 3 ... (8)

---

(7), (4) より

2 > z > 1

⇔ 3 > z+1 > 2

⇔ 3 > y > 2 ...(9)

---

(7), (8), (9) より

x > 3 > y > 2 > z > 1 ... (10)

===

本題は 3 = Ax+By+Cz を満たす A, B, C を求めることです。ただし A, B, C は非負の整数です。

(10) より、

x > 3 なので A = 0 であることがわかります

3 > y > 2 なので B は 0 または 1 ですが、 B = 1 のとき C = 1 とすると 3 を超えてしまう ( y + z > 3 ) ため、やはり B = 0 であることがわかります

2 > z > 1 であり C が整数であることから、 C = 2 であることがわかります

よって正解は 3 = 2z, すなわち橙が 2 個となります

2020-02-06

整数値が二つで

ついんてじゃー

なんつって

ぷぷ

2019-12-05

anond:20191205121336

たくはによりもおおきくてさんよりもちいさいという認識でかまいませんか?たくが実数であれば整数部分はにであるということになりますフェミの方々の総意ということでよろしいのですか?

今週のドラゴン桜2(83限目)の数学問題

問題

  • 第2問: 整数係数の2次式f(x)と、1次式g(x)がある。f(x)のx^2の係数は1であり、|f(x)|=|g(x)|を満たす実数xは1,2,3のみであるf(x)とg(x)を求めよ。

----

解答

整数a,b,c,dとし、

  • f(x) = x^2 + a x + b
  • g(x) = c x + d
  • c != 0

とする。さらに、

  • |f(1)| = |g(1)|
  • |f(2)| = |g(2)|
  • |f(3)| = |g(3)|

である

----

上記絶対値の等式より、

  • f(1) = ±g(1)
  • f(2) = ±g(2)
  • f(3) = ±g(3)

であるが、f(x)は2次式の曲線であり、1次式のg(x)、-g(x)の直線とは、どちらも3点で交わることはない。

よって、この等式は、g(x)につく符号はすべて+、もしくは、すべて-になることはない。

この等式のf(x)とg(x)をx=1,2,3でそれぞれ展開すると、

  • 1+a+b = ±(c+d)
  • 4+2a+b = ±(2c+d)
  • 9+3a+b = ±(3c+d)

ただし右辺のcとdは変数であるため、変数の算出時には右辺に付く+と-は入れ替えることができる。

よって、この3等式のうち、1つの等式のみのgに付く符号が違う、3パターンのみ考えれば良い。

また、3等式から4変数を求めるため、4変数パラメータ変数を含む値になる。

----

x=1の等式で、符号が違うパターン
  • 1+a+b = c+d
  • 4+2a+b = -(2c+d)
  • 9+3a+b = -(3c+d)

1つ目と2つ目の等式より

  • d=4a+3b+6
  • c=-3a--2b-5

この値を3つ目の等式に代入することで、

  • b=-a

が得られる。

nを整数とし、a=n とすると

  • a = n
  • b =-n
  • c =-n-5
  • d = n+6

まり

  • f(x) = x^2 + n x - n
  • g(x) = (-n-5)x + n+6

である

この式にx=1,2,3をそれぞれ代入すると、

  • f(1) = 1
  • g(1) = 1
  • f(2) = n+4
  • g(2) = -n-4
  • f(3) = 2n+9
  • g(3) = -2n-9

であり、問題の条件を満たしている。

しかし、f(x) = g(x)とすると、

  • (x-1)(2n+x+6) = 0

より、x=1もしくはx=-2n-6のときに成立する。

となる。n=-4ならx=2になるが、それ以外の整数nではxは1,2,3以外の整数になり条件を満たさない。

また、f(x)=-g(x)とすると、

  • (x-2)(x-3)=0

であり、x=2,3のときのみ成立する。

よって、n=-4のとき

  • f(x) = x^2 -4 x +4
  • g(x) = -x + 2

のみ条件が成立する。

----

x=2の等式で、符号が違うパターン
  • 1+a+b = c+d
  • 4+2a+b = -2c-d
  • 9+3a+b = 3c+d

1つ目と2つ目の等式より

  • d=4a+3b+6
  • c=-3a--2b-5

この値を3つ目の等式に代入することで、

  • b=-2a-9/2

が得られるが、この等式を満たす整数a,bの組は存在しないので、この符号パターンにはならない。

----

x=3の等式で、符号が違うパターン
  • 1+a+b = c+d
  • 4+2a+b = 2c+d
  • 9+3a+b = -3c-d

1つ目と2つ目の等式より

  • c=3+a
  • d=-2+b

この値を3つ目の等式に代入することで、

  • b=-3a-8

が得られる。

整数mとし、a=mとすると、

  • a=m
  • b = -3m-8
  • c = m+3
  • d = -3m-10

まり

である。この式にx=1,2,3をそれぞれ代入すると、

  • f(1) = -2m-7
  • g(1) = -2m-7
  • f(2) = -m-4
  • g(2) = -m-4
  • f(3) = 1
  • g(3) = -1

であり、問題の条件を満たしている。

f(x)=g(x)の場合

  • x^2-3x+2=0

より、これを満たすのはx=1,2のみである

一方、f(x)=-g(x)とすると、

  • (x-3)(x+2m+6) = 0

であり、これを満たすのは、x=3もしくは、x=-2m-6である

m=-4のとき、x=2となるが、それ以外の整数mではxは1,2,3以外の値になる。

よって、条件を満たすためにはm=-4でなくてはいけない。よって、

  • f(x) = x^2 -4x + 4
  • g(x) = -x +2

ただし、この式は先の式と同じ式である。これはf(2)=g(2)=0であるために起こった。

----

以上より、問題を満たすf(x)、g(x)は、

  • f(x) = x^2 -4x + 4
  • g(x) = -x +2

である

2019-11-05

N個の整数列には、和がNで割り切れる部分列が必ず存在する

整数a1...aNとし、a1からaLまでの部分列の和をsLとする(L=1...N)。

s1...sNはN個あり、sLをNで割った余りは最大0からN-1までのN個ある。

A. Nで割った余りが0になるsL存在していれば、a1...aLがその和がNで割り切れる部分列である

B. どのsLもNで割った余りが0にならなければ、取りうる余りは1...N-1の最大N-1個である

取りうる余りは多くてもN-1個のため、N個のs1...sNのうち少なくとも2つは、Nで割ると同じ余りになるもの存在する(鳩の巣原理)。

この同じ余りになるsLで、先をsA、後をsBとすると、sB-sAは、Nで割ると余りが0になる。

よって、aA+1...aBがその和がNで割り切れる部分列となる。

2019-11-03

anond:20191102202407

自然数も0から始まるし、階も0から始めればいい


  ← それを言うなら整数でしょ。入り口を入るとゼロ階。そこからワンフロア階段を上ると1階。降りるとマイナス1階(地下1階)、

anond:20191103010250

序数と整数の違いだね

一年生は「第一学年」であり1年間ずっと一年

0時は0時0分1秒なども存在する

内訳があるかどうかで考えるとわかりやすい、かもしれない

 

一番わかりやすい序数といえば一位(優勝)、二位(準優勝)などだろうなあ

優勝と準優勝のあいだの1.5位とか有りえない

 

かいってると踊り場は、中二階はとかいわれるのかねw

2019-10-30

anond:20191030133526

いくら補正があってもでかいマイナスマイナスだし、顔がチラッとでも正の整数に足入れてれば普通にプラスだぞ

ログイン ユーザー登録
ようこそ ゲスト さん