반응형 알고리즘/수학26 [백준][Python] 11653번 소인수분해 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 코드 N = int(input()) a = 2 while N != 1: for i in range(a,N+1): if N % i == 0: N //= i print(i) break a = i 설명 가장 작은 소수는 2이기 때문에 a는 처음에 2로 둔다. 2로 더이상 나눠지지 않으면 다음 수로 넘어가게 된다. 이때 a 값을 가장 최근에 나눠진 수로 업데이트해서 for문을 돌릴 범위를 줄여줘서 시간을 단축했다. 2022. 3. 14. [백준][Python] 2581번 소수 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 코드 a = int(input()) b = int(input()) n_list = [] for i in range(a,b+1): if i == 2: n_list.append(i) else: for j in range(2,i): if i%j == 0: break elif j == i-1: n_list.append(i) sum = 0 if n_list: for i in n_list: sum += i print(sum) print(n_list[0]) else: print(-1) 2022. 3. 3. 이전 1 ··· 4 5 6 7 다음 반응형