質問編集履歴

1

情報の追加

2017/06/27 01:37

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -23,3 +23,27 @@
23
23
  例えば、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)よりも前に要素を持ってくるときは加算しないとします。
24
24
 
25
25
  再帰関数を使い、配列a・bの計算を同時に行えるようにfor文などでいっぺんに計算できるようにすればやりたいアルゴリズムの実装ができるとはおもうのですが、どのように書けばいいのでしょうか?
26
+
27
+
28
+
29
+ 思いついた方法は
30
+
31
+ ```ここに言語を入力
32
+
33
+ a = [2,5,7,3,6]
34
+
35
+ b = [1,3,6,8,4]
36
+
37
+ list_sum = []
38
+
39
+ for i in range(len(a)*len(a)):
40
+
41
+ a[i] = a[i+1]
42
+
43
+ list_sum.append(list_sum)
44
+
45
+ ```
46
+
47
+ で、配列の要素の階乗回ループを回して配列に要素を追加すればいいと思うのですがこの先の方法が思い浮かばず。
48
+
49
+ ナップザック問題などを参考にしているのですが。