4134번: 다음 소수 정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오. www.acmicpc.net 코드 from math import sqrt def prime(num): # 소수인지 판별 if num == 0 or num == 1: return False for i in range(2, int(sqrt(num))+1): if num % i == 0: return False return True for _ in range(int(input())): n = int(input()) for i in range(n, 5*int(1e9)): if prime(i): print(i) break 소수 판별이라길래 에라토스테네스의 체를 쓸까 ..
문제풀이/수학

2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 코드 n, m = map(int, input().split()) a = [list(map(int, input().split())) for _ in range(n)] m, k = map(int, input().split()) b = [list(map(int, input().split())) for _ in range(m)] ans = [[0]*k for _ in range(n)] for i in range(n): for j in range(k):..
21275번: 폰 호석만 만약 문제의 조건에 맞는 X, A, B가 유일하게 존재한다면, X를 십진법으로 표현한 수와 A와 B를 공백으로 나누어 출력하라. 만약 만족하는 경우가 2가지 이상이라면 "Multiple"을, 없다면 "Impossible"을 www.acmicpc.net 코드 a, b = input().split() res = [] for i in range(2, 37): for j in range(2, 37): if i == j: continue try: if int(a, i) == int(b, j): res.append((int(a, i), i, j)) except: pass if len(res) < 1: print("Impossible") elif len(res) == 1: print(*res..
19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. 그러던 어느 날, 꿀벌에게 쏘이면 잠깐 www.acmicpc.net 코드 from itertools import combinations n, m = map(int, input().split()) h = list(map(int, input().split())) prime = [True]*10000 for i in range(2, 10000): if prime[i]: for j in range(i*2, 10000, i): prime[j] = False ans = set() for comb in combinations(range(n),..
1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net 코드 x, y, w, s = map(int, input().split()) # 평행 이동만 case1 = (x+y)*w # 최대한 대각선 이동 if (x+y) % 2 == 0: # 대각선 이동만 해도 됨 case2 = max(x, y)*s else: # 1번은 평행 이동 필요 case2 = (max(x, y)-1)*s+w # 평행 + 대각선 case3 = min(x, y)*s + abs(x-y)*w print(min(case1, case2, case3)) 처음..