質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

5回答

1188閲覧

プログラミング学習でなぜ素数が必要?

goligoli33

総合スコア7

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2020/11/09 07:13

プログラミング学習をはじめたばかりの者です。
いろいろと検索してみると、

素数か判断するプログラムのつくり方
素数を判定するプログラム
プログラミング初心者のための簡単アルゴリズム入門【素数を数えて落ち着くんだ】
素数判定 - 【ゆるゆるプログラミング】
C 言語 素数 | 入力された自然数が素数か判定する
素数を判定するプログラムを組みたいのだけど、さっぱりわからない!
etc..

、、などなど、学習にあたり素数に関する情報がたくさん出てきます。
そこで質問なのですが、

(1)プログラミングと素数はどんな関係があるのでしょうか?

(2)(プログラミングには関係ない文脈で出てきた本ですが)「素数はなぜ人を惹きつけるのか」なる本も見つかりましたが、そもそも素数に魅力を感じていない人にプログラムは無理なのでしょうか? プログラマーの方々は素数が大好きだからプログラミングができるのでしょうか?

どなたかご回答いただければ幸いです。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2020/11/09 07:16

エラトステネスの篩などはアルゴリズムが簡単で入門者向けだからです。
Zuishin

2020/11/09 07:20

それよりも二年以上前に作成されたアカウントが「プログラミング学習をはじめたばかり」ということのほうがよほど不思議ですね。
goligoli33

2020/11/09 07:26

ご回答ありがとうございます。なるほど、きちんとアルゴリズムの学習に繋がるような文脈があるわけですね。そう言ったような背景にあたる情報にたどり着けなかったのでモヤモヤが続いていました。 アカウントに関しては、以前、プログラミングを始めようと思ったときに情報収集のために作った(かもしれない)ことも忘れていました。今回いろいろ検索してここを見つけ先ほどまたログインしました。 ご回答ありがとうございました。
hentaiman

2020/11/09 09:04

これ本気の質問ですか?それとも冗談ですか? > そもそも素数に魅力を感じていない人にプログラムは無理なのでしょうか? プログラマーの方々は素数が大好きだからプログラミングができるのでしょうか? 失礼ながらこの一文が悪ふざけに見えた為
goligoli33

2020/11/09 09:39

本気の質問です。 その一文が悪ふざけに見えたとしたら申し訳ありませんでした。「好きこそものの上手なれ」という言葉がありますが、(私の仕事の関係で)様々な分野の方にヒアリングをしていると「結局好きだからこの仕事をやっている」と伺うことがこれまで数多くありました。また、ある人文系の学術分野の方々とお話させていただいた時も「好きだから」学問をやっているというような類のお話を伺いました。 もちろんなんらかの職業を続けて行く上で「好きだから続く」ということはあり得ますし、悪いことではないと考えます。 素数に関しての情報で私が疑問に思ったのは、もし数学的な知見がプログラミング教育に生かされているのであれば、その特性上(プログラムというものの特性上)、慣習的にその話題(ここでは素数)が取り扱われているということは必ずなんらかの理由があるはずだ、という考えに至りました。 それがもしある傾向を持つ方々だけのものであるとすれば(ここで言うところの"素数が大好きという方々")、また、学習以前にそういう傾向に慣れなければいけないのであれば、少なくともロジカルには学習計画を設計できません。 Zuishin様の回答のおかげで、学習の前提になるような「理由」、それが話題になる「文脈」がわかったので、今後アルゴリズムと関連させて、ネット検索で見つかるような情報も含めて、プログラミング学習に役立てていけそうです。 長文になってしまって申し訳ありません。また、私の書いた一文でもしご気分を害されるようなことがあったのであれば申し訳ありませんでした。
szk.

2020/11/09 09:48

何って検索されてますか? キーワードに「素数」って入れて意図的に検索しないと、 素数に関するサイトってそんなに出ないと思うのですが、、、
goligoli33

2020/11/09 10:57 編集

検索をしていたところ「素数」というワードが出てくることが気になっての質問でした。その後「意図的に」検索をすると大量に情報が出てきたので先にも書いたようにその理由が知りたくなりました。ズブの素人の質問でもしご気分を害されるようなことがあったのであれば申し訳ありませんでした。
miyabi_takatsuk

2020/11/10 03:10

ku__ra__geさんの回答で十分な気がしますが、 まだこの質問は解決してないのでしょうか? もし、それで解決したと思うならば、 BA選出して質問閉じられるとよいかと。
goligoli33

2020/11/10 04:20

miyabi_takatsuk 様 アドバイスありがとうございました。
guest

回答5

0

ベストアンサー

素数判定はプログラム初心者にちょうどいい難易度の課題だからよく出てくるだけで、プログラミングと素数は特別な関係にありません。
別にプログラマーは素数が大好きではありません。

投稿2020/11/09 07:45

ku__ra__ge

総合スコア4524

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goligoli33

2020/11/09 08:19

ご回答ありがとうございました。
goligoli33

2020/11/10 04:22

コメントの中のZuishin 様の回答にも助けられました。 コメント、ご回答くださいました皆様にも感謝いたします。 この度はどうもありがとうございました。
guest

0

プログラマーには冷静さが求められます。
冷静であるためには落ち着く方法を知っておかねばならず、落ち着くには素数を数えることが重要となります。
そのため、素数がプログラマーが最初に学ぶべき基礎事項として挙げられています。

余談
暗号系のアルゴリズムには素数(またはその概念)が重要となるケースがしばしばあります。
まぁ、たいていの場合「素数」で検索して出てくる範囲ではまかなえませんが。

投稿2020/11/10 03:39

編集2020/11/10 03:50
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/10 04:26

プログラマーの資質としてもう一つ大きなものは、「ワイルド・サバンナ」が見える事です。 これが見えないと、そもそもまともなコードが書けるようになりません。
goligoli33

2020/11/10 05:02

ご回答、アドバイスありがとうございました。
guest

0

暗号化などの分野では、素数を使用することが多いですね。
それは、大きな値になればなるほど、素数であることを判定するために、多くの時間を要するからです。

もしかすると、初学者の独創的な発想によって、素数判定の新たなアルゴリズム誕生を狙っている「何者か」がいるかもしれませんね。(陰謀論)

投稿2020/11/10 03:27

perorin0418

総合スコア90

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goligoli33

2020/11/10 05:07

ご回答ありがとうございました。
guest

0

参考情報:

  • その数式、プログラムできますか?

https://www.shoeisha.co.jp/book/detail/9784798141107

...
モダンなプログラミングには欠かせない「ジェネリックプログラミング」。
本書は、その考えかたの始源である数学から説き起こし、プログラムへと落としこんでゆく過程を詳解する。
数学とプログラミングが地続きであることを実感できる1冊。
...

素数判定や素数列挙は、計算量、メモリー使用量のことを学ぶのに手頃な問題の一つです。

数学の世界に限っても、素数の定義は単純なのの、関連する問題はとても深いものがあります。

  • wikioedia 素数

https://ja.wikipedia.org/wiki/%E7%B4%A0%E6%95%B0

投稿2020/11/11 11:43

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goligoli33

2020/11/12 02:23 編集

ありがとうございます!まさにご紹介いただいたようなことに繋がる疑問であったことがここで他の方が知見を提供してくださり明らかになりました。 (再現性を前提に慣習的に取り扱われているであろう)ある一つの教育メソッドに関して、その大元となるものは何なのか情報にたどりつけずに投稿した質問でした。
guest

0

「プログラミング学習の例題で素数が稀に出てくるが、プログラミング学習と素数は本質的にはあまり関係がない」と、検索して見抜くことができて、ここに質問しないでも済むような力が、プログラミング学習には必要です。

そのような力が身に付けられるように、がんばってください。

投稿2020/11/09 11:13

toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

goligoli33

2020/11/09 11:18 編集

本職のプログラマーの方なのかわかりませんが、全く問題解決的ではない角度のご回答ありがとうございます。そういう方もいらっしゃるということも参考になりました。
Zuishin

2020/11/10 03:33

どのように検索するとそれが見抜けるんでしょうか?
toast-uz

2020/11/10 03:53

goligoli33様 今回のご質問は「これ本気の質問ですか?それとも冗談ですか?」と書かれてしまうくらいな質問ですよね。プログラマは、どんな技術が流行っていて、今後見込みがあるのか、を様々な情報収集で見抜く力が必要です。そういう力がついてくれば、今回のような質問が的を射ているのか、そうではないのか、わかってくるようになります。現時点は仕方ありませんが、そのような力を身に付けて欲しいと思いました。 Zuishin様 本気の質問ですか?それとも冗談ですか?
YAmaGNZ

2020/11/10 04:02

「検索して見抜くことができて」って書いてあるからじゃないですかね?
Zuishin

2020/11/10 04:02

> プログラミング学習と素数は本質的にはあまり関係がない これを裏付ける根拠を効率よく調べるための方法が知りたいです。
toast-uz

2020/11/10 08:55 編集

Zuishin様、本気の質問として回答します。 裏付ける根拠を効率よく調べるための方法はありません。正確に言うと、方法をお伝えするすべがありません。検索を主として情報収集によって動向を見抜く力、というのは、それだけで一冊の本が書けてしまうものであるとともに、やり方を学んだらすぐにできるようになる、というものではありません。少しずつ実践して鍛えていく力であると思います。 という話は、この力が少しはあるような人は共通認識として理解していることと、個人的には思っています。なので、ご質問に対して、本気ですか?と確認しました。
Zuishin

2020/11/10 08:57 編集

つまり、あなたはその方法を伝えることはできないけれど会得していて、この裏付けとなる根拠を検索できると理解して良いですか?
toast-uz

2020/11/10 08:57

この問題の根拠を検索できる、というよりも、過去の情報収集の結果として、この問題の根拠を概ね理解しています。ただし、その根拠をZuishin様にお伝えすることは、結構大変です。
Zuishin

2020/11/10 09:00

正直、検索では無理なのでは? と思うんですが、そういう結論になりませんか?
toast-uz

2020/11/10 09:04

「プログラミングと素数は特別な関係にありません」がベストアンサーですので、結論は同意されていて、その結論を得る手法が、検索では無理では?ということでしょうか。検索といってもそのままズバリを質問検索として答えが得られるとは言っておらず、様々な場面で検索を通してWebページ等のインターネット情報に触れることで、この結論をある程度の根拠で語れるようになる、ということです。それでも腹落ちしませんか?
toast-uz

2020/11/10 09:07 編集

一方で、質問者様は検索によって「プログラミングと素数は特別な関係にあるのでは」という仮説を質問者様なりの根拠で得られたわけですよね。そちらは否定しないのに、「プログラミングと素数は特別な関係にありません」という結論を検索で得るのは、変だということでしょうか?
Zuishin

2020/11/10 09:07

> 検索して見抜くことができて、ここに質問しないでも済むような力が、プログラミング学習には必要です。 これがこの回答の主旨ではないんですか?
toast-uz

2020/11/10 09:09

「正直、検索では無理なのでは? と思うんですが、そういう結論になりませんか?」に対してコメントしております。
toast-uz

2020/11/10 09:13

質問者様の質問の主旨は「検索してAという仮説を得た。合っているか?」で、ベストアンサーは「Aではありません」、私の回答は「検索してAではありません、と見抜ける力がプログラマには必要ですね」なので、特におかしいところは無いように思います。いかがでしょうか?
Zuishin

2020/11/10 09:14

それで、この回答の主旨は何ですか? 何を答えたんでしょうか?
Zuishin

2020/11/10 09:15

> 検索してAではありません、と見抜ける力がプログラマには必要ですね 私にその力はありません。あなたにあるなら検索結果を教えてください。
toast-uz

2020/11/10 09:18

2020/11/10 17:53 のコメントまで戻って読み返しください。
Zuishin

2020/11/10 09:19

> 裏付ける根拠を効率よく調べるための方法はありません。 回答と食い違いますね。
toast-uz

2020/11/10 09:22

どこが食い違っていますか?
Zuishin

2020/11/10 09:23

方法がないものを行う能力がプログラマに必要だというところです。
toast-uz

2020/11/10 09:25

効率よく調べるための方法はありません、が、全く方法はありません、に変換されてしまっているようですね。
Zuishin

2020/11/10 09:27

つまりこの回答の主旨は何ですか?
toast-uz

2020/11/10 09:28

2020/11/10 18:13 のコメントまで戻って読み返しください。
Zuishin

2020/11/10 09:30

読みましたが要領を得ないので質問しています。
Zuishin

2020/11/10 09:31 編集

もう少し砕けて言うなら、「誰がやっても難しいことを初心者に要求する意味は?」ということです。
Zuishin

2020/11/10 09:32

私にはできないし、あなたにもできない。そうですよね?
toast-uz

2020/11/10 09:36

効率よくない、が、難しい、に変換されていますね。また、身に付けられるようにがんばってください、が、要求する、に変換されています。
Zuishin

2020/11/10 09:37

効率は悪いけどあなたには簡単ということですか?
Zuishin

2020/11/10 09:38

そしてその方法は人に伝えることができないと?
Zuishin

2020/11/10 09:38

言葉遊びでごまかしているだけに見えるので低評価します。
toast-uz

2020/11/10 09:42

議論いただき、ありがとうございました。
Zuishin

2020/11/10 09:45

議論はしていません。意味不明な回答の意味を尋ねて、やはり意味不明でしかなかったという結論が私の中で出ただけです。あなたが正しいと信じて疑わないこの回答を低評価している人が八人いますが、あなたにはその理由はいくら検索してもわからないでしょう。
goligoli33

2020/11/10 10:55 編集

>「プログラミングと素数は特別な関係にありません」がベストアンサーですので、結論は同意されていて 最初のコメント覧の中の方からアドバイスをいただき回答を締め切り、ご回答いただいた方の中からベストアンサーを選びました。Zuishin様の回答は「コメント覧」にあったため、ベストアンサーとして選べなかっただけです。システム上そうするしかなかっただけです。私自身はZuishin様のご回答で問題解決しました。 Zuishin様 私の質問でご迷惑をおかけして申し訳ありませんでした。
退会済みユーザー

退会済みユーザー

2020/11/10 10:49 編集

> toast-uz さん この回答って、いわゆる「悪魔の証明」が検索によるファクトチェック可能って意味なんですけど、自身で理解されてます? google が検索機能に部分的な実装をしているようなので、もしかすると適切な論文があるのかもしれないと思っていますが、私は確認できませんでした。 もしそのあたりが根拠なのであれば、ぜひ提示していただきたいと思います。
toast-uz

2020/11/10 10:48

te2ji様、悪魔の証明は考えていません。単純に、検索等の情報収集により何を仮説として確からしいと考えるか、ということを指摘しています。なので、プログラマの素養に素数が全く必要では無い、ということを求めているのではなく、プログラマの素養において素数は本質的ではない(少なくとも質問者様が質問されたような「プログラマの必要条件として素数へ魅力を感じることが必要だ」は仮説として成り立たない)、と導き出す力を指摘しています。悪魔の証明は、この場合は全否定を証明することであると思いますので、違いますよね。少なくともベストアンサー回答者様は、これをできていると思います。 プログラマは、どのOSS、ライブラリ、あるいはコードの書き方などが、現時点や今後の流行であるか、などを検索等の情報収集により見抜く力が必要だと考えています。そういった中で、検索から得られた各種情報から「プログラマの素養には素数が関係深い」という仮説を導くのではなく、「いや、あまり関係ないよ」という仮説(今回のベストアンサー)を導く力が、必要であるように考え、回答を記載しました。
toast-uz

2020/11/10 10:57

あ、すみません。te2ji様、申し訳ありませんが「議論をお望みでしょうか?」という質問を最初にさせてください。真摯にやりとりした後で、こんなのは議論ではありません、と言われるようだと、te2ji様の貴重な時間を無駄に使うことになり、申し訳ありませんので。
Zuishin

2020/11/10 10:59

真摯にやりとりしたようには見えませんでしたが。
退会済みユーザー

退会済みユーザー

2020/11/10 11:07 編集

私の質問(コメント)は「プログラマの素養において素数は本質的ではない」という事の証明は、(検索の世界では)悪魔の証明にあたるという前提でしたもので、証明方法の根拠を知っていれば教えてほしい。というものです。 toast-uz さん的には「そもそも検索の世界で証明可能である」という事ですね。 となると、私が興味を持った部分(根拠論文)には回答がないと思うので、私の横からのコメントはクローズします。
toast-uz

2020/11/10 11:09

証明可否という言い方は語弊があると思います。質問者様も「プログラマの素養に素数への関心が必要である」を証明しているわけではないと思います。確からしいと本人の主観で考える仮説です。
goligoli33

2020/11/10 11:12

>toast-uz 様 プログラマが大変なお仕事であり、深い洞察力を持ち合わせていないとモノにならないことは十分伝わりまたし、浅はかな質問をした私に責任がありますので、ここでの議論は終わりにしていただければありがたいです。私の意志とシステムの仕様をもとにベストアンサーを選んだ経緯は先に書きましたのでご一読いただければこちもありがたいです。よろしくお願いいたします。質問者である私の問題は解決しました。
toast-uz

2020/11/10 11:23 編集

goligoli33様 承知しました。ご迷惑をおかけしました。なお、来る質問に回答しているだけで、私自身が新規に議論(すみません、議論というのは私の主観です)をしているわけではないということ、ご理解いただけますと幸いです。 みなさま、本スレッドで、今後の質問には回答しませんので、ご承知ください。
Zuishin

2020/11/10 11:29 編集

質問にまともに答えず一人で議論してたんじゃ、そりゃ話にはなりませんね。そんなに興奮せず、素数でも数えて落ち着いて書けば良かったと思いますよ。ちなみに 2 からです。検索すればわかります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問