teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

情報の追加

2017/06/27 01:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -10,4 +10,16 @@
10
10
  次に配列a・bの順番が対応しているとして
11
11
  配列aで入れ替えた要素(例えばa[0]とa[1]を入れ替えるとき)番目の配列bの要素を足すということをしたいです(b[0]である1を算出する)。
12
12
  例えば、a[1]とa[4]を配列aの最初に持ってくるとすると[5,6,2,7,3]という順番になりますが、そのときは2,7,3の位置が変わっているので1+6+8=15を算出させたいです。ちなみに、a[0]とa[1]を入れ替えるとき[5,2,7,3,6]になりますが、この時は1を算出させたく、元のa[1](=5)の位置も変わっているのですが、a[1]のインデックス数(=1)よりも前に要素を持ってくるときは加算しないとします。
13
- 再帰関数を使い、配列a・bの計算を同時に行えるようにfor文などでいっぺんに計算できるようにすればやりたいアルゴリズムの実装ができるとはおもうのですが、どのように書けばいいのでしょうか?
13
+ 再帰関数を使い、配列a・bの計算を同時に行えるようにfor文などでいっぺんに計算できるようにすればやりたいアルゴリズムの実装ができるとはおもうのですが、どのように書けばいいのでしょうか?
14
+
15
+ 思いついた方法は
16
+ ```ここに言語を入力
17
+ a = [2,5,7,3,6]
18
+ b = [1,3,6,8,4]
19
+ list_sum = []
20
+ for i in range(len(a)*len(a)):
21
+ a[i] = a[i+1]
22
+ list_sum.append(list_sum)
23
+ ```
24
+ で、配列の要素の階乗回ループを回して配列に要素を追加すればいいと思うのですがこの先の方法が思い浮かばず。
25
+ ナップザック問題などを参考にしているのですが。