본문 바로가기

소수4

프로그래머스 - 소수 찾기 (Python) 문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. n은 2이상 1000000이하의 자연수입니다. 풀이 def solution(n): answer = 0 # 1. 1은 소수가 아니므로 2부터 n까지의 수를 확인한다. for x in range(2, n+1): # 2. x가 2부터 x의 제곱근 사이의 자연수로 나누어 떨어지면, 소수가 아니다. for j in range(2, int(x ** 0.5) + 1): if x % j == 0: isPrime = False break # 3. x가 2부터 x의 제곱근 사이의 자연수로 나누어 떨어지지 않는다면, 소수이다. if isPrime == True: answer += 1 return answer 이 문제는.. 2022. 6. 23.
백준 1929 - 에라토스테네스의 체 (Python) 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 코드 m, n = map(int, input().split()) numbers = [] prime_numbers = [] for i in range(2, n+1): numbers.append(i) i = 0 while(True): num = numbers[i] if num >= numbers[-1]: break prime_numbers.append(num) if num >= m: print(num) temp = num.. 2022. 5. 11.
백준 2581 - 소수 (Python) 문제 자연수 M, N이 주어질 때 M 이상 N 이하의 자연수 중 소수의 합과 최솟값을 구하라. 코드 m = int(input()) n = int(input()) sum = 0 prime_numbers = [] for num in range(m, n+1): if num == 2: sum += num prime_numbers.append(num) else: for i in range(2, num): if num % i == 0: break if i == num-1: sum += num prime_numbers.append(num) if(prime_numbers): print(sum) print(min(prime_numbers)) else: print(-1) 풀이 1) M부터 N까지 자연수를 반복한다. 2) .. 2022. 5. 9.
백준 1978 - 소수 찾기 (Python) 문제 주어진 N개의 수 중 소수의 수 출력하기 N 2022. 5. 9.