小数点を検索


小数点検索アルゴリズム

def isPrimenumber(x):
	for i in range(2,x):
    	if x % i == 0:
        	return False
    return True

xの場合、2からx-1の間のいずれかの数を分けることができる場合、小数(False)ではありません。そうでなければ小数です。


upgrade version


2つのドアを回す必要がなく小数点を見つける方法

a = 100 # 임의의 정수
# a 이하의 소수 찾기

answer=[]

x = [1]*(a+1)
x[1] = 0

# i의 배수 위치에 있는 값을 0 으로 바꿈(0:소수가 아님)
for i in range(2,a):
    if x[i] == 1:
        j = 2
        while i*j<=a:
            x[i * j] = 0
            j += 1

# x를 순회하며 1의 값이 들어있는 위치를 모두 반환(1:소수임)
for i in range(2,a+1):
    if x[i] == 1:
        answer.append(i)

print(answer)