[백준_python] 소인수분해 || 11653

2021. 2. 12. 23:04·🎯PS

www.acmicpc.net/problem/11653

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

에라토스테네스의 체를 이용해야하는 줄 알았따...

#소인수분해(시간초과)

def isprime(num):
    if num == 1:
        return False
    for i in range(2, int(num**0.5)+1):
        if num % i == 0:
            return False
    return True 

n = int(input())    
prime = []
for i in range(1, n+1):
    if isprime(i):
        prime.append(i)

while n!= 1:
    for i in prime:
        if n % i ==0:
            n = n/i
            print(i)
            break

 

그래서 주어진 수의 소인수를 찾는 것이 아니라, 주어진 수까지의 모든 소수를 찾아줘버렸다
(ㅋㅋㅋㅋㅋ아무래도 답은 잘 나오지만, 주어진 수까지의 모든 소수를 찾아주는 for문으로 인해 시간초과, 필요없는 과정이였다.)

 

# 소인수분해_2

n = int(input())  
while n!=1:
    for i in range(2, n+1):
        if n % i ==0:
            print(i)
            n = n/i
            break

그래서 역시 하나씩 순서대로 값을 올려주며 나누어떨어지도록 해주었다.

반응형
'🎯PS' 카테고리의 다른 글
  • [백준_python] 회의실 배정 || 1931
  • [백준_python] ATM || 11399
  • [백준_python] 최소공배수 || 1934 (유클리드 호제법)
  • [백준_python] 파도반 수열 || 9461
dmaolon
dmaolon
프로그래밍을 공부한 내용을 기록하는 공간입니다.
  • dmaolon
    기록 남기기
    dmaolon
  • 전체
    오늘
    어제
    • ALL (260)
      • ➰ Series (5)
      • 🎯PS (168)
        • Algorithm (15)
      • ☕ Java (11)
      • 🍀 Spring Boot (29)
      • 💬 Database (9)
      • 🐣 Computer Science (14)
      • 👍 Daily (4)
      • 🎁ReactJS (4)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    알고리즘
    파이썬
    프로그래머스
    Spring
    BFS
    프로그래밍
    자바
    dfs
    백준
    코딩
  • hELLO· Designed By정상우.v4.10.1
dmaolon
[백준_python] 소인수분해 || 11653
상단으로

티스토리툴바