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

回答編集履歴

3

修正

2018/09/05 17:21

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -78,7 +78,6 @@
78
78
  他の回答に対抗して、『ifとforだけ』縛りを無視して書いてみた。
79
79
  ```Python
80
80
  import itertools
81
- import math
82
81
 
83
82
 
84
83
  def is_prime(num, prime_list):

2

追記

2018/09/05 17:21

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -71,4 +71,36 @@
71
71
  print(f"{aa}は素数である")
72
72
  ```
73
73
 
74
- イケてない部分もありますが、しっかり動いてるのでまずは充分でしょう。
74
+ イケてない部分もありますが、しっかり動いてるのでまずは充分でしょう。
75
+
76
+ 書いてみた
77
+ ---
78
+ 他の回答に対抗して、『ifとforだけ』縛りを無視して書いてみた。
79
+ ```Python
80
+ import itertools
81
+ import math
82
+
83
+
84
+ def is_prime(num, prime_list):
85
+ return all(num % prime != 0 for prime in prime_list)
86
+
87
+ def gen_primes():
88
+ prime_list = [2]
89
+
90
+ yield 2
91
+ for num in itertools.count(start=3, step=2):
92
+ if is_prime(num, prime_list):
93
+ prime_list.append(num)
94
+ yield num
95
+
96
+
97
+ if __name__ == '__main__':
98
+ gen = gen_primes()
99
+
100
+ for _ in range(1999):
101
+ next(gen)
102
+
103
+ print(
104
+ next(gen)
105
+ )
106
+ ```

1

追記

2018/09/05 17:18

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -46,4 +46,29 @@
46
46
  リストに追加
47
47
  ```
48
48
 
49
- 以上で完成です。
49
+ 以上で完成です。
50
+
51
+ 追記: nobitaさんが完成させたプログラム
52
+ ---
53
+ ```Python
54
+ a = 0
55
+ b = 1
56
+ q = []
57
+ w = []
58
+ i = 0
59
+
60
+
61
+ for aa in range(1,100):
62
+ j = 0
63
+ for i in range(1,100):
64
+
65
+ if aa % i == 0:
66
+
67
+ j += 1
68
+ if 2 < j:
69
+ print(f"{aa}は素数ではない")
70
+ else:
71
+ print(f"{aa}は素数である")
72
+ ```
73
+
74
+ イケてない部分もありますが、しっかり動いてるのでまずは充分でしょう。