>  기사  >  백엔드 개발  >  Python을 사용하여 소수(소수)를 결정하는 간단한 방법

Python을 사용하여 소수(소수)를 결정하는 간단한 방법

高洛峰
高洛峰원래의
2017-03-02 17:32:2825619검색

이번 글에서는 파이썬을 사용하여 소수(소수)를 구하는 간단한 방법을 주로 소개합니다. 과학적인 계산에 자주 사용되는 파이썬은 물론 이런 작은 문제도 쉽게 처리할 수 있습니다^_- 필요한 친구들은 참고하면 됩니다.

소수는 소수라고도 합니다. 1과 정수 그 자체를 제외한 다른 자연수로 나누어지지 않는 1보다 큰 자연수를 말한다. 소수는 정수론에서 중요한 역할을 합니다. 1보다 크지만 소수가 아닌 수를 합성수라고 합니다. 1과 0은 소수도 아니고 합성수도 아니다. 소수는 합성수와 반대되는 두 가지 개념으로 정수론에서 가장 기본적인 정의 중 하나입니다. 골드바흐의 추측 등 소수의 정의에 기초한 세계적 수준의 문제가 많이 있습니다. 산술의 기본 정리는 1보다 큰 모든 양의 정수는 소수의 곱으로 쓰여질 수 있으며 이 곱의 형태는 독특하다는 것을 증명합니다. 이 정리의 중요한 점은 소수의 집합에서 1이 제외된다는 것이다. 1이 소수로 간주되면 이러한 엄격한 공식에는 몇 가지 제한 사항이 적용되어야 합니다. 며칠 전 친구가 가끔 Python에 소수를 결정하는 방법을 물었습니다. 저는 온라인에서 숫자가 소수인지 확인하는 Python 스크립트의 여러 가지 방법을 요약했습니다.

1. 수학 함수

import math 

def isPrime(n): 
  if n <= 1: 
  return False 
  for i in range(2, int(math.sqrt(n)) + 1): 
  if n % i == 0: 
    return False 
  return True

2. 단일 행 프로그램은 소수

from math import sqrt 
N = 100 
[ p for p in  range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]

파이썬의 itertools 모듈 사용

from itertools import count 
def isPrime(n): www.jb51.net
  if n <= 1: 
    return False 
  for i in count(2): 
    if i * i > n: 
      return True 
    if n % i == 0: 
      return False

3. 모듈을 사용하지 않는 두 가지 방법
방법 1:

def isPrime(n): 
  if n <= 1: 
    return False 
  i = 2 
  while i*i <= n: 
    if n % i == 0: 
      return False 
    i += 1 
  return True

방법 2:

def isPrime(n): 
  if n <= 1: 
    return False 
  if n == 2: 
    return True 
  if n % 2 == 0: 
    return False 
  i = 3 
  while i * i <= n: 
    if n % i == 0: 
      return False 
    i += 2 
  return True


예: 제발 20001에서 40001 사이의 소수(소수)
는 1로만 생성되거나 단독으로 생성될 수 있으므로 나머지가 0이 되는 경우는 2번만 존재한다는 뜻이다. 코드는 다음과 같다.

#!/usr/bin/python

L1=[]
for x in xrange(20001,40001):
 n = 0
 for y in xrange(1,x+1):
 if x % y == 0:
  n = n + 1
 if n == 2 :
 print x
 L1.append(x)
print L1

결과는 다음과 같습니다.

20011
20021
20023
20029
20047
20051
20063
20071
20089
20101
20107
20113
20117
20123
20129
20143
20147
20149
20161
20173
….

Python 사용에 대한 더 간단한 관련 기사를 보려면 소수(소수)를 결정하려면 PHP 중국어 사이트를 주의하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.