はてなキーワード: 整数とは
位数が有限な体のことです。
集合Fに二項演算+: F×F→Fが定義され、以下の性質を満たすとき、Fは群であるという。
Fの元の個数をFの位数という。
上に加えて、さらに次の性質を満たすとき、Fをabel群という。
Fが環であるとは、2つの二項演算+: F×F→F、*: F×F→Fが定義され、以下を満たすことである。
Fが環であり、さらに以下を満たすとき、Fは可換環であるという。
Fが環であり、さらに以下を満たすとき、Fは斜体または可除環であるという。
Fが可換環であり、斜体であるとき、Fは体または可換体であるという。
位数有限な斜体は、可換体である。(Wedderburn)
逆に、任意の素数pと自然数n≧1に対して、位数p^nである体が同型を除いて一意的に存在する。q=p^nとして、この体をF_qと書く。
有限体F_qの有限拡大はF_(q^m)の形。
これはすべてGalois拡大であり、そのGalois群はFrobenius準同型
φ_q: x→x^q
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)
ブコメを見ると、自分にとって気に食わない特定の「思想性」を排斥する話だと勘違いされているみたいなので、「思想性」という用語は消しました。
代わりに、上記の「多様な価値観」について述べたくなったので、そのあたりを追加して再改題しました。すると、カラースターの下り(カラースターは今まで通りの扱いにする旨の内容)は要らないと思えてきたので、消しました。
あと、「多様な価値観」を確保するんなら、スターの数値をいじるんじゃなくて、「人気のコメント」のアルゴリズムを変更するだけで十分なような気がしてきました。分数カウントはやっぱりわかりづらいかもしれません。
中学高校の数学から、いわゆるユークリッド幾何学は廃止してよい。理由は単純明快で、何の役にも立たないからだ。
大学に入ったら、どの学部に行っても、「補助線を引いて、相似な三角形を作って〜」などと言ったパズルをやることは絶対にない。メネラウスの定理を高校卒業以降(高校数学の指導以外で)使ったことのある現代人はいないだろう。こういうことは、別に高等数学の知識の無い高校生でも、常識で考えて分かると思う。たとえば工学で、弧長や面積を測定する機器が必要になったとして、補助線パズルが適用できるごく一部の多角形などしか測れないのでは話にならない。現代の数学および科学技術を支えているのは、三角関数やベクトルや微分積分などを基礎とする解析的な手法である。
もちろん、たとえば三角比を定義するには「三角形の内角の和は180°である」とか「2角が等しい三角形は相似である」等のユークリッド幾何学の定理が必要になる。そういうものを全て廃止せよと言っているわけではない。しかし、余弦定理まで証明してしまえば、原理的にはユークリッド幾何学の問題は解ける。また、実用上もそれで問題ない。したがって、余弦定理を初等的な方法で示したら、ユークリッド幾何学の手法はお役御免でよい。
これらはいずれも、高等数学を学ぶ際に欠かせない基礎となる分野である。仮にユークリッド幾何学が何らかの場面で使われるとしても、いくらなんでも微分積分などと同等以上に重要だと主張する人はいないだろう。
現在、これらの分野は十分に教えられていない。微分方程式と一次変換は現在(2020年5月)のカリキュラムでは教えられておらず、ベクトルは文系の範囲から除かれ、代わりにほとんど内容の無い統計分野が教えられている。また、高校生にもなって、コンパスと定規による作図みたいなくだらないことをやっている。本当に、どうかしているとしか言い様がない。
ユークリッド幾何学を教えるべきとする根拠の代表的なものは、証明の考えに触れられるというものだ。つまり、代数や解析は計算が主体であるが、ユークリッド幾何学は証明が主体なので、数学的な思考力を鍛えられるというものだ。
しかし、これは明らかに間違っている。別にユークリッド幾何学の分野に限らず、数学のあらゆる命題は証明されなければならないからだ。実際、高校数学の教科書を読めば、三角関数の加法定理や、微分のライプニッツ則など、証明が載っている。そもそも、数学の問題は全て証明問題である。関数の極値問題は、単に微分が0になる点を計算するだけではなく、そこが実際に極値であることを定義に基づいて示さねばならない。数学的思考力を養うのに、ユークリッド幾何学が他の分野より効果的だという根拠は無い。
https://www.nicovideo.jp/watch/sm36233489
また紫の重さを 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
⇔ 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) より、
3 > y > 2 なので B は 0 または 1 ですが、 B = 1 のとき C = 1 とすると 3 を超えてしまう ( y + z > 3 ) ため、やはり B = 0 であることがわかります。
たくはによりもおおきくてさんよりもちいさいという認識でかまいませんか?たくが実数であれば整数部分はにであるということになりますがフェミの方々の総意ということでよろしいのですか?
----
整数a,b,c,dとし、
とする。さらに、
である。
----
であるが、f(x)は2次式の曲線であり、1次式のg(x)、-g(x)の直線とは、どちらも3点で交わることはない。
よって、この等式は、g(x)につく符号はすべて+、もしくは、すべて-になることはない。
この等式のf(x)とg(x)をx=1,2,3でそれぞれ展開すると、
ただし右辺のcとdは変数であるため、変数の算出時には右辺に付く+と-は入れ替えることができる。
よって、この3等式のうち、1つの等式のみのgに付く符号が違う、3パターンのみ考えれば良い。
また、3等式から4変数を求めるため、4変数はパラメータ変数を含む値になる。
----
1つ目と2つ目の等式より
この値を3つ目の等式に代入することで、
が得られる。
nを整数とし、a=n とすると
つまり、
である。
この式にx=1,2,3をそれぞれ代入すると、
であり、問題の条件を満たしている。
より、x=1もしくはx=-2n-6のときに成立する。
となる。n=-4ならx=2になるが、それ以外の整数nではxは1,2,3以外の整数になり条件を満たさない。
また、f(x)=-g(x)とすると、
であり、x=2,3のときのみ成立する。
よって、n=-4のときの
のみ条件が成立する。
----
1つ目と2つ目の等式より
この値を3つ目の等式に代入することで、
が得られるが、この等式を満たす整数a,bの組は存在しないので、この符号パターンにはならない。
----
1つ目と2つ目の等式より
この値を3つ目の等式に代入することで、
が得られる。
整数mとし、a=mとすると、
つまり、
である。この式にx=1,2,3をそれぞれ代入すると、
であり、問題の条件を満たしている。
より、これを満たすのはx=1,2のみである。
一方、f(x)=-g(x)とすると、
であり、これを満たすのは、x=3もしくは、x=-2m-6である。
m=-4のとき、x=2となるが、それ以外の整数mではxは1,2,3以外の値になる。
よって、条件を満たすためにはm=-4でなくてはいけない。よって、
ただし、この式は先の式と同じ式である。これはf(2)=g(2)=0であるために起こった。
----
である。
整数列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で割ると同じ余りになるものが存在する(鳩の巣原理)。
Windowsのフォントがクソ(日本語フォント編) │ ├┬ 標準搭載のフォントがクソ ││ │├┬ MS(P│UI)ゴシックがクソ │││ ││├── 埋め込みビットマップのせいで文字がガタガタ (アンチエイリアシング派) │││ ││├── ひらがなカタカナの横幅を縮めただけの妥協の産物 (MS UIゴシック否定派) │││ ││└── アウトラインも醜悪 (MSゴシック全否定派) ││ │├┬ メイリオがクソ │││ ││├── ヒンティングのせいで字体とバランスが崩れている (ヒンティング否定派) │││ ││├── 標準の行間がありすぎて扱いにくい (間延び行間否定派) │││ ││└── 字体が幼稚に見える (メイリオ全否定派) ││ │├┬ Meiryo UIがクソ │││ ││├── ヒンティングのせいで字体が崩れている (ヒンティング否定派) │││ ││└── かなとアルファベットの横幅を縮めただけの妥協の産物 (Meiryo UI全否定派) ││ │└┬ Yu Gothic UIがクソ │ │ │ ├── (初期Windows10で顕著)ヒンティング手抜きでバランス総崩れ (ヒンティング否定派) │ │ │ ├── 游ゴシックから横幅を縮めただけの妥協の産物? (Yu Gothic UI全否定派) │ │ │ └── Meiryo UIの方がまだ読みやすい (Yu Gothic UI否定・Meiryo UI消極的肯定派) │ ├┬ フォントレンダリングがクソ ││ │├┬ GDIとClearType │││ ││├── 埋め込みビットマップを優先するのがクソ (アンチエイリアシング派) │││ ││├── 縦方向のアンチエイリアシングがなく斜め線がガタガタ (アンチエイリアシング派) │││ ││├── 偽色出すぎ (ClearType否定派) │││ ││├── ヒンティングを無効化できない (ヒンティング否定派) │││ ││├── フォントサイズがおかしい。特に、ポイントが1.5の整数倍でない場合に顕著 (サイズ厳格派) │││ ││├── OpenTypeフォントのスムージングが薄すぎる (調整力不足派) │││ ││└── ClearTypeチューナー使っても線幅細すぎ、ガタガタすぎる (GDI,ClearType全否定派) ││ │└┬ DirectWrite │ │ │ ├── 基本的にヒンティングを無効化できない (ヒンティング否定派) │ │ │ ├── 調整できるはずなのに調整機能を用意していないアプリがある (調整力不足派) │ │ │ ├── OSの共通設定が存在しない (調整力不足派) │ │ │ └── 調整してもMacTypeに勝てない (MacType教) ......
for(i=2; i<=num; i++){ if(i == num){ // prime }else if((num % i) == 0){ // non prime break; } }
このコードの後半の、
if((num % i) == 0)
は、「numがnum未満のある数で割り切れたら」という意味。つまり、素数でないことを示している。
そして、
f(i == num)
は、「最後まで残ったら」という意味。それ未満の全ての数で割り切れないならそれは当然素数。
分からなくなった時は適当な数を代入して動作を確かめてみるのがいい。
あと、1つの整数が素数かどうかを判定するのには計算量の関係でミラー・ラビン法を使うのが普通。理解に深い数学の知識が必要なので、入門レベルではない。
「キーボードから数を入力させて、その数が素数か否かを判断させるコード」なんだけど
#include <stdio.h> int main(void) { int num,i; printf("2以上の整数を入力してください。"); scanf("%d,&amp;num"); for(i=2; 以下num; i++){ if(i == num){ printf("%dは素数です。",num); } else if((num % i) == 0){ printf("%dは素数ではありません。",num);l breakl; } } return 0; }
これがそのコードの例文。で俺の疑問箇所なんですが
for(i=2; i以下num; i++){ if(i == num){ printf("%dは素数です。",num); }
ここのコードでどうして変数「num」が素数であると判断できるのかが良く分からないんです。
俺が馬鹿で文系脳でプログラミングの才能0だから分からないというのはほぼ確定なんだけど、それでもここのとこが理解できないとモヤモヤして夜も眠れなそうなのでどうか教えて下さい。
偶数奇数を判定するための途方もないプログラミングコードが話題に
http://blog.livedoor.jp/itsoku/archives/55507489.html
x mod 2
で行いますが、ビット演算を使い、最下位ビットが立ってるかチェックする
x and 1
負の表現に2の補数を使うプログラミング言語では問題無いのですが、Cではちょっと問題が起きます。
X3010:2003 プログラミング言語 C 6.2.6.2 整数型
符号付き整数型において、オブジェクト表現のビットは、値ビット、詰め物ビット、および符号ビットの三つのグループにわけられなければならない。
詰め物ビットは存在しなくてもよく、符号ビットは丁度一つでなければならない。それぞれの値ビットは、対応する符号なし整数型のオブジェクト表現における同じビットと同じ値をもたなければならない。(略)
符号ビットが0であれば、それは結果の値に影響を及ぼしてはならない。符号ビットが1であれば、値は次に示す方法の一つにしたがって変更されなければならない。
- 符号ビットが0のときの値を負数化した値[符号と絶対値(sign and magnitude)]
- 符号ビットが値-(2N)をもつとするときの値[2の補数(two's complement)]
2の補数の場合(1111 1111)2
1の補数の場合(1111 1110)2
よって、処理系が2の補数を採用している場合では問題ありませんが、1の補数を採用している場合に判定が逆になります。
UNISYS社のClearPath Dorado Systems(ClearPath OS2200)で採用されているという話です。