목록전체 글 (21)
우물 밖 병아리
N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된(각 요소의 차이가 1) 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오.문제 바로가기 입력 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 만약 리스트의 길이가 100보다 작거나 같으면, 연속된 수를 첫째 줄에 공백으로 구분하여 출력한다. 만약 길이가 100보다 크거나 그러한 수열이 없을 때는 -1을 출력한다.아이디어공차가 1인 등차수열 -> 등차중항 * 항 수 = N임을 이용했다.수열이 만들어지기 위해서는 ✨ L(항 개수)이 짝수일 때 N/L이 X.5의 형태이거나✨ L이 홀수일 때 N/L이 정수여야 함. 예) N..
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 문제 보러 가기 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.테스트케이스입력:3 16 출력: 3571113코드M, N = map(int, input().split(' '))for i in range(M, N + 1): if i 회고에라토스테네스의 체 알고리즘을 써야 하는지 모르고 냅다 들이박았는데..M, N = map(int, input().split(' '))for i in range(M, N + 1): flag = True for k in range..
✨ 특정 범위 내(1부터 M까지) 소수를 구하는 가장 간단한 방법❓ 소수란? 1과 자기 자신만을 약수로 가지는 자연수(2, 3, 5 ...)💡 숫자 n에 대해 n-1까지의 수로 한 번씩 전부 나눠보는 작업을 수행 -> 범위가 커지면 매우 비효율적. O(N^2)💡 약수는 항상 대칭으로 존재 -> 8 = 4 * 2 = 2 * 4. 따라서 n의 제곱근까지만 약수를 구해도 됨 예를 들어...8의 약수 1 2 4 8. sqrt(8) = 2.xxx...이므로 2까지만 구해도 소수인지 알 수 있음 (소수X)16의 약수 1 2 4 4(중복) 8 16. sqrt(16) = 4이므로 4까지만 구해도 소수인지 알 수 있음 (소수X)20의 약수 1 2 4 5 10 20. sqrt(20) = 4.xxx...이므로 4까지만 ..