質問編集履歴

3

試したことを書き忘れていたので追記しました

2021/06/24 08:43

投稿

room
room

スコア1

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,10 @@
1
- ### pythonで素数を生成するジェネレータを作りたいです
1
+ ### 実現したいこと
2
2
 
3
+ pythonで素数を生成するジェネレータを作りたいです
3
4
 
5
+ エラトステネスの篩と無限イテレータを使っています
4
6
 
5
7
  素数を生成するはずが生成された数列は2, 3, 4となってしまいます
6
-
7
- エラトステネスの篩を使っています
8
8
 
9
9
  エラーは発生していません
10
10
 
@@ -42,8 +42,24 @@
42
42
 
43
43
  p = gen_prime()
44
44
 
45
- for i in range(3):
45
+ for _ in range(3):
46
46
 
47
47
  print(next(p)) # 2, 3, 4
48
48
 
49
49
  ```
50
+
51
+ ### 試したこと
52
+
53
+
54
+
55
+ ```python2
56
+
57
+ primes = itertools.ifilter(lambda x: x % p != 0, primes)
58
+
59
+ primes, tmp = itertools.tee(primes)
60
+
61
+ list(itertools.islice(tmp, 10))
62
+
63
+ ```
64
+
65
+ とすると最初の10個は素数になるが27(合成数)が出てくるようになる

2

2021/06/24 08:43

投稿

room
room

スコア1

test CHANGED
File without changes
test CHANGED
File without changes

1

2021/06/24 07:59

投稿

room
room

スコア1

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
 
5
5
  素数を生成するはずが生成された数列は2, 3, 4となってしまいます
6
+
7
+ エラトステネスの篩を使っています
6
8
 
7
9
  エラーは発生していません
8
10