質問編集履歴

5

2020/08/25 03:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- 8クイーンの解を求め、90度・180度・270度回転させるプログラムを書こうとしています。
5
+ 8クイーンの解を求め、回転させるプログラムを書こうとしています。
6
6
 
7
7
 
8
8
 
9
- 92通りの並べ方は出せたのですが、解を求め回転させるプログラムと言われると途端にわからなくなってしまいました。
9
+ 92通りの並べ方は出せたのですが、回転させるプログラムと言われると途端にわからなくなってしまいました。
10
10
 
11
11
 
12
12
 
@@ -20,52 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- ここまでやって92通りの並べ方は出ました。
23
+ 参考書を見ながら92通りの並べ方は出ました。
24
-
25
- > Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量を見ながら下のプログラミングを書きました。
26
-
27
- ```
28
-
29
- N = 8
30
-
31
- def check(x,col):
32
-
33
- for i, row in enumerate(reversed(col)):
34
-
35
- if (x + i + 1 == row ) or (x -i - 1 == row):
36
-
37
- return False
38
-
39
- return True
40
-
41
-
42
-
43
- def search(col):
44
-
45
- if len(col) == N: #すべて配置できれば出力
46
-
47
- print(col)
48
-
49
- return
50
-
51
-
52
-
53
- for i in range(N):
54
-
55
- if i not in col: #同じ行は使わない
56
-
57
- if check(i, col):
58
-
59
- col.append(i)
60
-
61
- search(col)
62
-
63
- col.pop()
64
-
65
-
66
-
67
- search([])
68
-
69
- コード
70
-
71
- ```

4

引用元を明記しました。

2020/08/25 03:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- Pythonの8クイーン問題についてです。
1
+ > 引用テキストPythonの8クイーン問題についてです。
2
2
 
3
3
 
4
4
 
@@ -21,6 +21,8 @@
21
21
 
22
22
 
23
23
  ここまでやって92通りの並べ方は出しました。
24
+
25
+ > Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量を見ながら下のプログラミングを書きました。
24
26
 
25
27
  ```
26
28
 

3

2020/08/19 16:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ここまでやって92通りの並べ方は出しました。
24
24
 
25
-
25
+ ```
26
26
 
27
27
  N = 8
28
28
 
@@ -63,3 +63,7 @@
63
63
 
64
64
 
65
65
  search([])
66
+
67
+ コード
68
+
69
+ ```

2

2020/08/18 15:14

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -15,6 +15,8 @@
15
15
 
16
16
 
17
17
  どなたか教えていただけると幸いです。
18
+
19
+ 初めて質問するので不手際がありましたらすみません。
18
20
 
19
21
 
20
22
 

1

8クイーンの解を求めるプログラミングまでは出せましたがここからがわかりません

2020/08/18 14:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,49 @@
15
15
 
16
16
 
17
17
  どなたか教えていただけると幸いです。
18
+
19
+
20
+
21
+ ここまでやって92通りの並べ方は出しました。
22
+
23
+
24
+
25
+ N = 8
26
+
27
+ def check(x,col):
28
+
29
+ for i, row in enumerate(reversed(col)):
30
+
31
+ if (x + i + 1 == row ) or (x -i - 1 == row):
32
+
33
+ return False
34
+
35
+ return True
36
+
37
+
38
+
39
+ def search(col):
40
+
41
+ if len(col) == N: #すべて配置できれば出力
42
+
43
+ print(col)
44
+
45
+ return
46
+
47
+
48
+
49
+ for i in range(N):
50
+
51
+ if i not in col: #同じ行は使わない
52
+
53
+ if check(i, col):
54
+
55
+ col.append(i)
56
+
57
+ search(col)
58
+
59
+ col.pop()
60
+
61
+
62
+
63
+ search([])