はてなキーワード: 素数とは
・清潔感がある
・常識があり、人の目が気になるようなことはしない
・素直である
・人に気が使える
・計画性があり、全体のことを考えられる
・男尊女卑ではない
・話し合いができる
・尊敬できるところがある
・コンプレックスが強くない
・金銭感覚が合う
https://ja.wikipedia.org/wiki/%E6%AC%A1%E5%85%83%E3%81%AE%E5%91%AA%E3%81%84
次元の呪い(じげんののろい、英: The curse of dimensionality)という言葉は、リチャード・ベルマンが使ったもので、(数学的)空間の次元が増えるのに対応して問題の算法が指数関数的に大きくなることを表している。
要は、気にする要素数が多くなると「そんなヤツ居ねぇ」になるんだ
5要素全部普通なのは、0.8^5= 0.32だから、32%くらい
10要素全部普通なのは、0.8^10=0.10だから、10%くらい
つまり、ほとんどの人が何かしらの要素について「普通ではない」
それが欠点になる
せいぜい3つだ
0.8^3=0.512 全男のうち半分くらいは3要素について8割の中の普通に入ってくれる
____
ちなみに、これこそ現代人の幸福感が低い原因ではないかと疑っている
昭和からの「普通の人像」というのは確かに各要素について普通なんだけど、全部合わせると「そんなヤツほとんど居ねぇ」になっちゃうんだ
誰もが何かしら欠点を抱えている
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だから分からないというのはほぼ確定なんだけど、それでもここのとこが理解できないとモヤモヤして夜も眠れなそうなのでどうか教えて下さい。
一応あらかじめ釘を指しておくと、有名で実用的な言語に限った比較の話である
「LL言語は楽勝」というのが一般的な見解だと思うけど、よくよく考えてみたらRubyほど学習コストの高い言語も珍しいと思う
言語を(使うものとして)理解するには、「コアコンセプトを理解する」「構文を覚える」「組み込み/標準ライブラリに何が有るかを覚える」という要素があるように感じている(これは感じているだけなので事実ではないかもしれない)
Rubyはプログラマがプログラミング的なことについて楽をするための言語である(と思う)
たとえば素数判定ひとつするにしても、自力で高速な素数判定を実装するよりも、 require 'prime' して Integer#is_prime? するのが正しいという雰囲気がある
というよりも、自力で一生懸命実装することが悪であるかのような雰囲気さえある
「こう書けば短い/楽なのに、どうしてそう書かないの?」という雰囲気が漂っている
Rubyで時間計算量やメモリ効率の話をするのはナンセンスなので、純粋に書き方のみを取り上げて優劣を語ることができる
そうなってくると、『ちゃんとRubyが書ける』という状態になるには「組み込み/標準ライブラリに何が有るかを覚える」というステップが非常に大事になってくる
これが莫大なコストになっている。
「コアコンセプトを理解する」コストはHaskellやRustではやや大きいかもしれないが理解するのはそう難しくない「Haskell入門して1ヶ月経つけどHaskellの何が特徴的なのかまったくわからん」などという人はいない
そう考えるとRubyは「組み込み/標準ライブラリに何が有るかを覚える」が非常に大事だし莫大な量である
Rubyに入門して数年経つけど、いまだに「えっこんなメソッドあったの」というのが時々ある
辛い
https://togetter.com/li/1353321
Aの身長は150cm
Bの身長は155cm
Cの身長は160cm
Dの身長は165cm
この5人の中で、Cの次に背が高い人は?
これ
②「配列Aの中で、Xの値の次に{大きい/小さい/次に来るもの}は?」
の2通りの解釈で迷ってる人が多いんだろうが、今どちらも①はねーぞ
・「素数」は条件たり得ているが、「大きな」と言ってるから②である
だから答えはBと7
例えば、以下のようにすると①足り得る
Aの身長は150cm
Bの身長は151cm
Cの身長は180cm
Dの身長は185cm
Eの身長は190cm
平均身長:160cm
この5人の中で、Cの次に「平均身長より大きい人」は?
これは答えはD
「平均身長より大きい人」は大小ではなく、条件であるから②ではない
答えは13
「5より大きい素数」は大小ではなく、条件であるから②ではない
答え割れるよね〜じゃねーよ
ちなみに、①は「前の」と言えるが②は「前の」とは言わない
ex:「次に大きい人」「前に大きい人」
_____
取手、天王台、我孫子、北柏、柏、南柏、北小金、新松戸、馬橋、北松戸、松戸、金町、亀有、綾瀬、北千住、・・・
と停まる
このうち特快が停まるのは
1 北千住
2 金町
3 柏
今日ゲノムに関する本を読んでいて初めて知ったのだが、生物のゲノムでちゃんとした役割があるのはたった3%で残りの97%は何のためにあるのかわかっていないらしい。しかもその部分は自然言語に類似しているという。と聞くと僕は、この部分が生物を創造した高次生命体からのメッセージなのではないかという突飛な(と同時に陳腐な)発想に至ってしまう。そしてここまで考えてふと、星新一先生の「宿命」というssを思い出した。話の筋書きはこうである。
ある星にいつからか一体のロボットがいて、「本能」に従って原油や材料を集め、自分のクローンを作っていた。それを繰り返してどんどん数を増やしていき、その後ロケットの製作を始めた。ロボットたちは満身創痍でロケットを作り、一番壊れていないロボットが「ある星」を目指しロケットで出発した。その星に辿り着くのだが着陸に失敗してしまうロボット。そこに人間たちがやってきて、ロボットの体の番号を確認した。人間たちは地球に帰ってくるよう「プログラム」されたロボットを宇宙各地にばら撒き、どこが一番早く地球に帰ってくるか賭けをしていたのだった。
ここからは完全な想像だが、星新一先生はこのssを通じて、人間もこのロボットと同じように、あるゴールに向かって向かうよう高次生命体、つまり神によってゲノムに「プログラム」されているかもしれないと言いたかったのではないか。それが素数分布の完全解析か、ゲノムに隠されたメッセージの読解か、外宇宙への有人飛行か、はたまた神が読んでも感動できる文学作品かはわからないけど。もしかしたら神がいて、全然進化が進まないから隕石を落としてみたり、氷河期を起こして海を渡らせたり、神の使いを遣ったり、ラマヌジャンが決闘で死んで発狂したりしたのかなってふと考えた。今日の今日まで無神論者だったけどわからなくなってしまった。神について存在するにしろ、しないにしろ確信を持っている人がいればその理由を教えてほしい。もちろん聖書に書いてあるとかは無しで。