検索BOJ 1978小数点
3651 ワード
acmicpc.net/problem/1978
時間1秒、メモリ128 MB
input :個数N(1<=N<=100) N個(1<=個<=1000) output : 少数の出力. 入力した数字は最大1000です.
長さ1001のリストを並べ、小数に分けます.
入力したN個の数字をインデックスのように見つけます.
小数を検索する方法.2から、素数を要求したい区間の全数をリストする.図中の灰色の矩形で囲まれた数はこれに相当する. 2は少数なので、右に2と書きます./2の場合はすべて削除されます. の残りの数のうち、3は少数なので、右に3と書きます./2の場合はすべて削除されます. 残りのでは、5は少数なので、右に5と書きます./5の倍数をすべて削除します. 残りのでは、7は少数なので、右側に7と書きます./7の倍数をすべて削除します. ビット目のプロセス を繰り返す.
2つのwhile文を繰り返して書きました.
時間1秒、メモリ128 MB
input :
長さ1001のリストを並べ、小数に分けます.
入力したN個の数字をインデックスのように見つけます.
エラトステネスのふるい。
小数を検索する方法.
2つのwhile文を繰り返して書きました.
import sys
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
prime_num = [True] * 1001
prime_num[1] = False
i = 2
while i <= 1000:
cnt = i + i
while cnt <= 1000:
prime_num[cnt] = False
cnt += i
i += 1
ret = 0
for item in data:
if prime_num[item]:
ret += 1
print(ret)
Reference
この問題について(検索BOJ 1978小数点), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-1978-소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol