문제 보기 이 문제는 수학 문제이고, 에라토스테네스의 체가 필요하다. 문제가 요구하는 것은 말 그대로 골드바흐의 추측을 검증하는 것이다. 골드바흐의 추측이란 다음과 같다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 주어진 범위 내에 이 추측을 검증하기만 하면 된다. 문제를 푼 로직은 다음과 같다. 에라토스테네스의 체로 주어진 범위 내의 모든 소수를 구한다. (5~18번째 줄) 숫자 n을 입력받고 합이 n을 이루는 소수 a, b를 구한다. 두 소수 a, b를 찾았다면 "n = a + b"를 출력한다. (26~33번째 줄) 두 소수 a, b를 찾지 못했다면 "Goldbach's conjecture is wrong."을 출력한다. (35~36번째 줄) 이 문제가 생각보다 까다로운 점은 시..
문제 보기 이 문제는 수학 문제이다. 알고리즘 분류는 에라토스테네스의 체도 포함되어 있지만, 굳이 그럴 필요는 없는 것 같다. 문제에서 요구하는 바는 주어진 숫자들 중 소수가 몇 개인지 찾는 것이다. 딱히 어려운 구현은 없기 때문에, 나는 소수를 판별하기 위해 다음의 조건을 생각하였다. 소수의 약수는 1과 n밖에 없다. 이 조건을 확인하는 함수는 8~16번째 줄에 작성되어 있다. 문제를 푼 로직은 다음과 같다. 자연수를 입력받는다. (4~5번째 줄) 주어진 수에 대해서 소수의 개수를 세고, 이를 출력한다. (19~23번째 줄) import sys from math import sqrt n = int(sys.stdin.readline()) numbers = list(map(int, sys.stdin.rea..
- Total
- Today
- Yesterday