본문 바로가기

분류 전체보기293

백준 17425번. 약수의 합 (Python / 파이썬) 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값을 더한 값은 g(x)로 표현한다. 자연수 N이 주어졌을 때, g(N)을 구해보자. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 100,000)가 주어진다. 둘째 줄부터 테스트 케이스가 한 줄에 하나씩 주어지며 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 각각의 테스트 케이스마다, 한 줄에 하나씩 g(N)를 출력한다. 문제 풀이 약수의 합 문제는 약수.. 2022. 4. 29.
백준 17427번. 약수의 합 2 (Python / 파이썬) 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값을 더한 값은 g(x)로 표현한다. 자연수 N이 주어졌을 때, g(N)을 구해보자. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 g(N)를 출력한다. 문제 풀이 약수의 합을 구하는 문제는 문제를 해결하기 위한 아이디어를 떠올리는게 핵심인 문제였던 것 같습니다. 자연수 N보다 작은 수들의 약수의 합을 단순히 모두 구할 수 있겠지만 조금 .. 2022. 4. 29.
백준 1037번. 약수 (Python / 파이썬) 문제 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. 출력 첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다. 문제 풀이 어떤 수 N의 진짜 약수가 모두 주어졌을 때 N을 구하는 문제입니다. 24로 예를 들어보면 약수는 1, 2, 3, 4, 6, 8, 12, 24 이 중 1과 N을 제외한 진짜 약수는 2, 3, 4, 6, 8, 12 입.. 2022. 4. 29.
백준 4375번. 1 (Python / 파이썬) 문제 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. 출력 1로 이루어진 n의 배수 중 가장 작은 수의 자리수를 출력한다. 문제 풀이 정수 n이 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 문제입니다. 처음 문제를 읽었을 때 1로만 이루어진 배수가 뭐지..? 라는 생각이 들었는데 문제 예제를 통해 1, 11, 111, 1111과 같은 수 라는 것을 알 수 있었습니다. 따라서 먼저 1부터 n의 배수인지 n으로 나눈 나머지가 0인지 확인해서 판단해주었습니다. 만약 n의 배수가 아니라면 10을 곱하고.. 2022. 4. 29.