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

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

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

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

Java

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

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

C++

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

Q&A

解決済

3回答

887閲覧

[至急] Project Euler: #10 Summation of primes コード、入力、出力、できれば解説もお願いします。アルゴリズムとデータ構造

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

Java

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

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

C++

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

0グッド

0クリップ

投稿2022/09/20 10:10

編集2022/09/22 15:20

https://projecteuler.net/problem=10

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million.

結論からお伝えすると、答えを教えてください。C,C++,javaのどれかで。
コードと入力と出力とできれば解説もお願いします。
プログラミング未経験でも簡単に理解できるように説明してほしい。

私の考え

Pseudocode

1sum ← 0 2for 1≦i<2000000 3 sum ← sum + i × isPrime(i) 4output sum

isPrime(i)をどのようにして求める?

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2022/09/20 11:22

isPrime(i)ではなくi × isPrime(i)
episteme

2022/09/20 11:27

は? isPrimeが 素数なら1 / 合成数なら0 を返せばいいじゃん。
退会済みユーザー

退会済みユーザー

2022/09/20 11:30

だ か ら Σ(ab) ≠ (Σa)(Σb) この場合Σは分解できない
episteme

2022/09/20 11:33

ごめん何言うてるんかわからん。
退会済みユーザー

退会済みユーザー

2022/09/20 11:35

一般にΣ(ab) = (Σa)(Σb)が成り立つとは限らない
episteme

2022/09/20 11:47 編集

それは理解できる。が、それが本件にどう関わるかがわからん。 Σ(iが素数ならi / 合成数なら0) where i = 1,2,...2000000 じゃろ? Σa だけで十分ちゃう?
退会済みユーザー

退会済みユーザー

2022/09/20 11:50

その考え方はおかしいと思う。 少なくとも、多くの人が直感的に納得できることではない。
episteme

2022/09/20 11:58 編集

> その考え方はおかしいと思う。 どこが? 「2000000以下の素数を全部足せ」に対し Σ(iが素数ならi / 合成数なら0) where i = 1,2,...2000000 のどこがおかしい? > 少なくとも、多くの人が直感的に納得できることではない。 なぜに?
退会済みユーザー

退会済みユーザー

2022/09/20 11:59

数学的に複雑な議論であるから。 私はこの総和を皆さんの助けなくして処理できない。
退会済みユーザー

退会済みユーザー

2022/09/20 12:00

vector<int>を用意するとどうなる?
episteme

2022/09/20 12:01

ん? 正しくは「少なくとも、kisaragiSTが直感的に納得できることではない。」だといいうこと?
退会済みユーザー

退会済みユーザー

2022/09/20 12:01

Σ(i×isPrime(i)) じゃなくて if isPrime(i) = TRUE sum ← sum + i じゃない?
episteme

2022/09/20 12:02

> vector<int>を用意するとどうなる? コードみせて
退会済みユーザー

退会済みユーザー

2022/09/20 12:02

私以外にもこの議論が理解できない人が多数存在する。
退会済みユーザー

退会済みユーザー

2022/09/20 12:03

コードはもっていません
episteme

2022/09/20 12:06 編集

> if isPrime(i) = TRUE > sum ← sum + i > じゃない? isPrime(i) が 「iが素数なら1 / 合成数なら0を返す」なら if isPrime(i) = TRUE sum ← sum + i と sum ← sum + i*isPrime(i)  は同義だ。
退会済みユーザー

退会済みユーザー

2022/09/20 12:09

いやいや 片方にはifがあるのにもう片方にはそれすらない
episteme

2022/09/20 12:12

> 私以外にもこの議論が理解できない人が多数存在する。 その証拠は? (幼稚園生には理解できんだろうが、その類は論拠にならん)
退会済みユーザー

退会済みユーザー

2022/09/20 12:14

幼稚園生には理解できんだろうが、その類も論拠になります。
episteme

2022/09/20 12:15

> 片方にはifがあるのにもう片方にはそれすらない sum = sum + i*isPrime(i) if iが素数なら sum に i を足す そうでなければ sum に 0 を足す(つまりなにもしない) 両者は同義だ。これでいい?
episteme

2022/09/20 12:16

> 幼稚園生には理解できんだろうが、その類も論拠になります。 だからなに? 議論に負けたくない一心でそう主張してる?
amd64ubuntu

2022/09/20 12:17

i に 0 を掛けたら、0 なので、加算されないに等しい。 と、なんでここで算数教えなきゃいけないんだって思われますよ。
退会済みユーザー

退会済みユーザー

2022/09/20 12:18

isPrimeに隠れif文があるということ? 別にあなたを論破したいわけじゃないんで喧嘩は控えてもらえるか
episteme

2022/09/20 12:24 編集

> isPrimeに隠れif文があるということ? isPrimeではなく、「加算に対しては隠れif文がある(足した数が0ならなにもしない」なら、そう思っていいかと。
退会済みユーザー

退会済みユーザー

2022/09/20 12:25

わかりました @amd64ubuntu これは大学数学、離散数学です
episteme

2022/09/20 12:26 編集

わかってくれてありがとう # なんでここで算数教えなきゃいけないんだ
退会済みユーザー

退会済みユーザー

2022/09/20 12:26

どういたしまして! 困ったときはお互い様です。
退会済みユーザー

退会済みユーザー

2022/09/20 12:26

分からないことがあったらteratailでまた質問します。
episteme

2022/09/20 12:32

では本件はcloseよろしく。
退会済みユーザー

退会済みユーザー

2022/09/20 12:33

ok
guest

回答3

0

残念ながら、ここではコードの作成依頼は受け付けていません

まずはあなたなりにコードを書いてみましょう。その上でわからないことを聞いていただければお答えできるかと思います。

投稿2022/09/20 10:16

y_waiwai

総合スコア87719

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

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

退会済みユーザー

退会済みユーザー

2022/09/20 10:16

ネットストーカー乙
退会済みユーザー

退会済みユーザー

2022/09/20 10:17

コード書いたじゃん 私の考え Pseudocode sum ← 0 for 1≦i<2000000 sum ← sum + i × isPrime output sum isPrime(i)をどのようにして求める? 読みなさい
退会済みユーザー

退会済みユーザー

2022/09/20 10:23 編集

厳しいことを言わなければならない ごめん BeatStarは真似事しかできてないイキりマンだと思ってる 後からしゃしゃり出てきて同じこと言ってたりするし
guest

0

投稿2022/09/22 06:20

jimbe

総合スコア12545

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

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

0

ベストアンサー

誰が低評価した?

投稿2022/09/20 10:14

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問