Python - 소수 구하기

2022. 6. 13. 21:41·Python/개인 공부
728x90

소수 : 1과 자기 자신으로만 나눠지는 수

예를 들어, 7은 1과 7로만 나누어 떨어지고 10은 2, 5로도 나누어 떨어지기 때문에 소수가 아님.

꽤나 자주 나오는 주제인데 할때마다 헷갈려서 정리하고 가자.

소수를 구할 최대 정수를 입력받고, 그 범위안에 소수가 어떤게 있는지 출력하는 알고리즘을 짤 것.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def isPrime(n): #소수 구하는 함수
    if n <= 1: #1이나 0은 False반환
        return False
    
    for k in range(2, n):
        if(n%k == 0): #입력받은수를 계속 증가하는 k로 나눠서 나머지가 없다? -> 소수x
            return False
    return True #계속 나눈결과 나머지가 0이 아니다 -> 소수o, print문에서 출
 
num = input("소수를 구할 최대 정수 :") #최대 정수 입력
num = int(num)
 
for k in range(num+1): #만약 15를 입력받았다면 15까지의 정수중에 소수있는지 구함(0~15)
    if isPrime(k): #소수 구하는 함수 호출
        print(k, end=" ") #isPrime이 True를 반환하면 실행
 
Colored by Color Scripter
cs

15를 입력받았다고 가정하면, 1~15까지의 정수중에 소수인 수를 출력

1부터 검사해 나가서 7까지 갔다고 치자, 7은 isPrime의 파라미터로 들어간다.

그러면 7을 또 for문을 이용해서 2부터 6까지 차례로 나눠보면 된다.

계속 나누어 가다가 나머지가 0이면 False를 반환할 텐데, 7은 2,3,4,5,6으로 나누어 떨어지지 않는다.

그래서 for문을 무사히 다 돌고 True를 반환한다. 그러면 14번줄의 if문을 만족하여 7을 출력한다.

끝.

728x90

'Python > 개인 공부' 카테고리의 다른 글

Python - 함수의 파라미터 여러개 일때(*args)  (0) 2022.06.21
Mac os - 터미널 명령어 정리(2022.06.20)  (0) 2022.06.20
Python - print문의 사용 (end, sep) (내가 헷갈려서..)  (0) 2022.06.10
Python - 피하기 게임(개인 프로젝트)  (0) 2022.06.08
'Python/개인 공부' 카테고리의 다른 글
  • Python - 함수의 파라미터 여러개 일때(*args)
  • Mac os - 터미널 명령어 정리(2022.06.20)
  • Python - print문의 사용 (end, sep) (내가 헷갈려서..)
  • Python - 피하기 게임(개인 프로젝트)
Jminu
Jminu
    250x250
  • Jminu
    뇌 구조가 바이너리
    Jminu
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Web
      • Linux
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
      • Qualcomm 기업과제
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    동적 배열 스택
    순환
    rubik pi 3
    yolo
    파이썬
    백준
    루빅보드
    자료구조
    rubikpi3
    스택
    C++
    원형 덱 구현
    가상 주소 공간
    동적메모리
    파일 입출력
    커밋 아이디
    INIT
    Git
    그래서 컴퓨터는 어떻게 동작하나요?
    커널
    commit
    피보나치
    c언어
    버퍼
    Batch OS
    이진 트리
    소수
    매개변수 포인터
    Branch
    포인터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Jminu
Python - 소수 구하기
상단으로

티스토리툴바