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

回答編集履歴

3

いや、やっぱ1から、で良かった(爆

2025/08/31 07:13

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  def fermat_test(n):
19
19
  def try_it(a):
20
20
  return expmod(a, n, n) == a
21
- return try_it(randint(2, n - 1))
21
+ return try_it(randint(1, n - 1))
22
22
 
23
23
  def is_prime(n, times = 100):
24
24
  while True:

2

乱数の生成範囲ミスを修正(1は要らんかった)

2025/08/31 06:17

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  def fermat_test(n):
19
19
  def try_it(a):
20
20
  return expmod(a, n, n) == a
21
- return try_it(randint(1, n - 1))
21
+ return try_it(randint(2, n - 1))
22
22
 
23
23
  def is_prime(n, times = 100):
24
24
  while True:

1

カーマイケル数のリンク提示

2025/08/30 19:55

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -31,6 +31,8 @@
31
31
 
32
32
  if __name__ == '__main__':
33
33
  [print(f'{i}: {is_prime(i)}') for i in \
34
+ # カーマイケル数
35
+ # https://oeis.org/A002997
34
36
  [561, 1105, 1729, 2465, 2821, 6601, 8911,
35
37
  10585, 15841, 29341, 41041, 46657, 52633,
36
38
  62745, 63973, 75361, 101101, 115921, 126217,
@@ -38,5 +40,4 @@
38
40
  314821, 334153, 340561, 399001, 410041, 449065,
39
41
  488881, 512461, 530881, 552721]]
40
42
 
41
-
42
43
  ```