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

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

新規登録して質問してみよう
ただいま回答率
85.48%
アルゴリズム

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

データ構造

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

C++

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

Q&A

1回答

801閲覧

長さNの整数列A = (A_1, A_2, ..., A_N)が与えられる。Σ[i=1..N] Σ[j=1..N] (A_i + A_j)を求めよ。

KEMONO_PANTSU_X

総合スコア7

アルゴリズム

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

データ構造

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

C++

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

0グッド

0クリップ

投稿2023/03/24 04:22

長さNの整数列A = (A_1, A_2, ..., A_N)が与えられる。
次の総和を求めよ。
Σ[i=1..N] Σ[j=1..N] (A_i + A_j)

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

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

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

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

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

episteme

2023/03/24 05:01

なにがわからんですか?
KEMONO_PANTSU_X

2023/03/24 05:02

Σ[i=1..N] Σ[j=1..N] (A_i + A_j) とは? :thinking:
episteme

2023/03/24 05:06

書いてあるとおり。
episteme

2023/03/24 05:12

「役不足」の使い方を間違っている
episteme

2023/03/24 05:27

揚げ足取りだとわかったてことは間違いに気づいたんだな
episteme

2023/03/24 05:34

「役不足」の使い方を間違っている
KEMONO_PANTSU_X

2023/03/24 05:36

私は正しい。 私は私の生涯で一度も間違いをしたことがない。
episteme

2023/03/24 05:41

「私は私の生涯で一度も間違いをしたことがない」に間違いがあるのでは
KEMONO_PANTSU_X

2023/03/24 05:42

この問題に解答できないなら、帰ってください。 私は勉強、就活で忙しい。
episteme

2023/03/24 05:46

しつもんはなんですか
KEMONO_PANTSU_X

2023/03/24 05:47

次の総和を求めよ。 Σ[i=1..N] Σ[j=1..N] (A_i + A_j)
episteme

2023/03/24 05:48

それは問題であり質問ではない
KEMONO_PANTSU_X

2023/03/24 05:51

問題は質問である。 質問は問題である。
episteme

2023/03/24 05:59

せめて質問としての体裁を整えよ
KEMONO_PANTSU_X

2023/03/24 06:02

あなたが上司やクライアントから 「長さNの整数列A = (A_1, A_2, ..., A_N)が与えられる。 次の総和を求めよ。 Σ[i=1..N] Σ[j=1..N] (A_i + A_j)」 と言われたとする。 これは明らかに質問と解釈される。
episteme

2023/03/24 06:05

相手できないわ。誰かお願い。
KEMONO_PANTSU_X

2023/03/24 06:06

私が一生懸命考察した結果を書いた質問である。 単なる丸投げとは程遠い。
episteme

2023/03/24 06:16

> 私が一生懸命考察した結果を書いた質問である。 考察とされるのはどこか。
episteme

2023/03/24 06:20

ではのそ「問題の本質」を述べよ
KEMONO_PANTSU_X

2023/03/24 06:25

長さNの整数列A = (A_1, A_2, ..., A_N)が与えられる。 次の総和を求めよ。 Σ[i=1..N] Σ[j=1..N] (A_i + A_j)
episteme

2023/03/24 06:38

で、これのどこがわからんか?
episteme

2023/03/24 06:42

Σ[i=1..N] Σ[j=1..N] (A_i + A_j) なんだろ? なにがわからんか?
episteme

2023/03/24 06:45

コード見せて。
episteme

2023/03/24 06:49

「式が複雑でエラーが発生した」のエラーとは? 何のエラー?
episteme

2023/03/24 07:01

ChatGPTのエラーですか。ご愁傷様
guest

回答1

0

おはようございます。
すみません、間違っていました。お詫びして訂正します。

ΣiΣj(A_i + A_j) =
Σi( A_i + A_1 + A_i + A_2 + A_i + A_3 + A_i + A_4 + ・・・・・+ A_i + A_N ) =
並べ替えて
Σi( N * A_i + A_1 + A_2 + ・・・・ + A_N ) =
Σiを外して
N * (A_1 + A_2 + A_3 + ・・・・ + A_N) + N * (A_1 + A_2 + A_3 + ・・・・ + A_N) =
2 * N * (A_1 + A_2 + A_3 + ・・・・ + A_N )
でしたね。

なので、これをプログラムで実装するに当たり二重ループは必要ないということになります。
Aのサイズが大きいときに計算時間の節約になりそうですね。
actorbugさんありがとうございます。

---以下修正前内容---

こんばんわ。

ΣiΣj(A_i + A_j) =
Σi(A_i + A_1 + A_2 + A_3 + ・・・・ + A_N ) =
(A_1 + A_1 + A_2 + ・・・ + A_N ) + (A_2 + A_1 + A_2 + ・・・・ + A_N ) + ・・・・ + (A_N + A_1 + A_2 + ・・・・ + A_N ) =
(A_1 + A_2 + ・・・・ + A_N ) + ( A_1 + A_2 + ・・・・ + A_N ) * N =
(A_1 + A_2 + ・・・・ + A_N ) * (N + 1)
です。

ここまで書けば大丈夫ですよね?
あとは頑張ってください。

投稿2023/03/24 09:40

編集2023/03/24 22:51
srsnsts

総合スコア480

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

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

actorbug

2023/03/25 01:06 編集

元の式と変換後の式での計算結果を比較すると、異なる値が返るのが分かります。 例えば、Pythonで計算してみると、以下のようになります。 N = 2 A = [1, 2] print(sum(A[i] + A[j] for i in range(N) for j in range(N))) print(sum(A) * (N + 1)) 出力 12 9
srsnsts

2023/03/24 22:41

actorbugさん 返信ありがとうございます。 私の回答間違ってますね、書き直して訂正します。 すみません。
srsnsts

2023/03/25 01:57

う〜んよくわからなかったですか。 どの部分がわかりにくかったのか、 教えてもらってもいいですか?
srsnsts

2023/03/25 04:46

わからないんだったらわからないでいいからさ、 何も考えず最後の式だけ利用してもいいじゃん。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問