Python - 소수 구하기

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

소수 : 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을 출력한다.

끝.

'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 - 피하기 게임(개인 프로젝트)
Minu Jin
Minu Jin
정보의 바다
  • Minu Jin
    뇌 구조가 바이너리
    Minu Jin
  • 전체
    오늘
    어제
    • 분류 전체보기
      • C프로그래밍
        • 오류해결
        • 개인 공부
        • Programming Lab(학교수업)
        • MemoryTracker
      • C++
        • 개인 공부
      • 자료구조(Data Structure)
      • ARM arch
        • Cortex-M
        • FreeRTOS
      • 컴퓨터 공학(Computer Science)
        • OS
        • 컴퓨터 구조
      • Qualcomm 기업과제
      • Linux
        • start_contribute()
        • start_analyse()
      • Web
      • 똥글
      • 백준
      • Git 학습
        • 오류해결
        • 학습중
      • Python
        • 오류해결
        • 개인 공부
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    commit
    피보나치
    시스템콜
    버퍼
    소수
    스택
    rubikpi3
    파일 입출력
    리눅스
    커널 기여
    이진 트리
    커널
    Git
    토발즈
    yolo
    c언어
    INIT
    동적메모리
    순환
    드라이버 분석
    rubik pi
    백준
    파이썬
    Qualcomm
    포인터
    arm
    자료구조
    Branch
    앤드류모튼
    C++
  • 최근 댓글

  • 최근 글

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

티스토리툴바