소수(15)
-
백준 1735 파이썬
백준 1735 - 분수 합 문제 https://www.acmicpc.net/problem/1735 1735번: 분수 합 첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. www.acmicpc.net 답안 코드 : def gcd(a, b): # 최대공약수, 유클리드 호제 while b: a, b = b, a % b return a A, B = map(int, input().split()) C, D = map(int, input().split()) N = gcd(A * D + C * B, B * D) print((A * D + C * B) // N, B * D // N) 백준 / 문제 / 단계별로 풀어보기 / 15단..
2024.04.24 -
백준 13241 파이썬 유클리드 호제법
백준 13241 - 최소공배수 문제 https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 답안 코드 : def gcd(a, b): while b: a, b = b, a % b return a def lcm(a, b): return a * b // gcd(a, b) A, B = map(int, input().split()) result = lcm(A, B) print(resul..
2024.04.23 -
백준 1934 파이썬 gcd와 lcm
백준 1934 - 최소공배수 문제 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 답안 코드 : import math # 최소공배수 계산하는 함수 def lcm(a, b): return a * b // math.gcd(a, b) T = int(input()) # 각 테스트 케이스에 대해 최소공배수 계산 및 출력 for _ in range(T): A, B = map(int, input().split()) result = lcm..
2024.04.22 -
백준 2485 파이썬
백준 1735 - 분수 합 문제 https://www.acmicpc.net/problem/2485 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 답안 코드 : import sys from math import gcd # 이미 심어져 있는 가로수 수 N = int(sys.stdin.readline()) # 첫 가로수 위치 a = int(sys.stdin.readline()) # 가로수들 사이의 값을 저장할 배열 arr = [] # 가로수들 사이의 간격 저장 for i in range(N-1): num ..
2024.03.25 -
백준 2581 파이썬
백준 2581 : 소수 문제 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 답안 코드 : N = int(input()) M = int(input()) prime = [] for num in range(N, M + 1): error = 0 if num > 1: for i in range(2, num): # 2부터 num-1까지 if num % i == 0: error += 1 break # 몫이 0이면 error가 증가하고 for문을 끝냄 if error..
2024.03.11 -
백준 1978 파이썬
백준 1978 : 소수 찾기 문제 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 답안 코드 : n = int(input()) nums = map(int, input().split()) prime = 0 for num in nums: error = 0 if num > 1: for i in range(2, num-1+1): # 2부터 n-1까지 if num % i == 0: error += 1 if error == 0: prime += 1 # error가 없으면 소수 print(prime) 백준 / 문제 / 단계별..
2024.03.10