#!/usr/bin/python
# -*- coding: utf-8 -*-
def prime(n):
primes = [2, 3]
if n < 2:
return []
if n == 2:
return [2]
for x in range(6, n + 1, 6):
p = x - 1
for y in primes:
if y*y > p:
break
if p % y == 0:
p = -1
break
if p != -1:
primes.append(p)
p = x + 1
if p > n:
break
for y in primes:
if y*y > p:
break
if p % y == 0:
p = -1
break
if p != -1:
primes.append(p)
return primes
print(prime(100))
파이썬 문법 쌈빡하당
파이썬 좇같은게 긴 프로그램을 못쓰겠다 ㅋㅋㅋ indentation병신되면 토할것같음
지금 다시 코드 리뷰하다가 문제 발견. n 값이 6m - 1 형태인 소수로 들어올 경우엔 6m - 1이 append 안될 듯. for x in range(6, n + 1, 6):을 for x in range(6, n + 2, 6):으로 수정해야 될 듯.
난 괄호 없어서 좋던뎀
indentation은 습관되서 무조건 쓰는 편이라 상관없고
근데 파이썬 긴 프로그램 짤 때도 괜찮던데. 2달 전 쯤인가. 아는 대학원 형 대학원 과제로 PE 조사 프로그램을 파이썬으로 짜라는 과제가 있어서 간단하게 만들어서 줬는데 소스 코드가 1,500줄 가량 됐던 기억이. 뭐 난 파이썬으로 프로그램 만들어 본 경험이 많진 않지만 저 정도까지는 할만 했음.
다만 파이썬으로 코드 짜려면 whitespace 표시해 주는(아래아 한글에서 조판 부호 표시하듯이) 에디터를 써야 편함.
얌마 최적화란 단어 남발하지 마라. 30초만 찾아봐도 Sieve of Eratosthenes 알고리듬이 젤 빠르다는데 저게 왜 최적?
얌마 안보이는 걸 문법의 일부로 쓰는 병슨같은 언어는 일찍 때려칠수록 후회가 없다
얌마 에라토스테네스의 체는 기본 중의 기본이잖아. 이 알고리즘이 에라토스테네스의 체 알고리즘을 바탕으로 한 건데 뭔 소리하고 앉아 있노?
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.