본문 바로가기

👩🏻‍💻 Front-end76

백준 10872 - 팩토리얼 (Python) 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0≤N≤12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 코드 def fac(n): if n 2022. 5. 13.
백준 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.
백준 11653 - 소인수분해 (Python) 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 코드 n = int(input()) for i in range(2, n+1): while n % i == 0: print(i) n /= i 풀이 소인수분해 결과를 오름차순으로 출력하기 때문에, 2부터 시작해서 n이 나누어떨어지는 수 i를 찾는다. 나누어 떨어지면 n을 i로 나눈다. 인수는 중복될 수 있으므로 더이상 i로 나누어떨어지지 않으면 다음 수로 넘어가서 똑같이 반복한다. 2022. 5. 10.
백준 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.