다시금 소수를 세자. Python으로 엔리코 푸치 신부님을 뛰어넘는 거야.

노들 영산

다시금 소수를 세자. Python으로 엔리코 푸치 신부님을 뛰어넘는 거야.

Spread the love
x = int(input("Key an integer to count the element numbers over than 1: ")) # 변수를 int값으로 고정
el_num = list(range(2, x+1)) # 변수를 int로 지정해 주지 않으면 list함수가 구동하지 않습니다.
for i in range(len(el_num)):
if(el_num[i] == 0): # 합성수는 소거법에 쓸 필요가 없으니 미리 0으로 바꿔 놓고,
continue # 더 큰 수로 나눠 보기 확인 작업에서 제외시킵니다.
for j in range(i+1, len(el_num)):
if(el_num[j] == 0): # 이미 합성수로 판명돼 0이 된 수를 건너뜁니다.
continue
if(el_num[j] % el_num[i] == 0): # 현재 나누고 있는 수로 피제수가 나눠 떨어진다면,
el_num[j] = 0 # 그 수는 합성수이므로 다음 연산 과정에서 배제하기 위해 0으로 바꿉니다.
while 0 in el_num: # 그동안 합성수 자리에 바꿔 넣은 0들을 검출해 내는 순환문
el_num.remove(0) # 소수만 출력시킬 예정이니 전부 list에서 제거합니다.
print(el_num) # 소수만을 남긴 list를 출력합니다.

추가로, Atom을 써서 만든 소스코드의 갈무리 화면은 다음과 같습니다.

소수 세기 프로그램 이외에 예전 대학가에서 C++ CUI 그래픽만으로 게임을 만들어 구동시키는 것이 가능한지 확인해 보고 싶네요. 다음 목표는 윷놀이로 해 볼까요?