수학 282

백준(Python) 11653번 소인수분해 풀이

Python으로 구현한 11653번 소인수분해 문제 풀이입니다. https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net n = int(input()) count = 2 while n != 1 : if n % count == 0 : print(count) n //= count else : count += 1 소인수분해는 기본적으로 2부터 진행하기 때문에 변수 number에 2를 할당한다. while문을 통해 반복실행하고, 그 내부에서는 조건문을 통해 입력받은 n을 number 값으로 나눈 나머지 값이 0이라면 number 값을 출력한다. 또한, 변수 n에 number로 나..

백준(Python) 4153번 직각삼각형 풀이

Python으로 구현한 4153번 직각삼각형 문제 풀이입니다. https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net while True : a, b, c = map(int, input().split()) if a==0 and b==0 and c==0 : break a *= a b *= b c *= c if a+b == c or a+c == b or b+c == a : print("right") else : print("wrong") 기본적으로 삼각형이 직각인지 판별할..

백준(Python) 2747번 피보나치 수 풀이

Python으로 구현한 2747번 피보나치 수 문제 풀이입니다. https://www.acmicpc.net/problem/2747 2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net data = [0] * 46 def fibo(x) : if x == 0 : return 0 if x == 1 or x == 2 : return 1 if data[x] != 0 : return data[x] data[x] = fibo(x - 1) + fibo(x - 2) return data[x] n =..

백준(Python) 5543번 상근날드 풀이

Python으로 구현한 5543번 상근날드 문제 풀이입니다. https://www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가 www.acmicpc.net burger_data = [] drink_data = [] for _ in range(3) : burger_data.append(int(input())) for _ in range(2) : drink_data.append(int(input())) burger_data.sort() drink_data.sort() print(burger_data[..

백준(Python) 2748번 피보나치 수 2 풀이

Python으로 구현한 2748번 피보나치 수 2 문제 풀이입니다. https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net data = [0] * 91 def fibo(x) : if x == 0 : return 0 if x == 1 or x == 2 : return 1 if data[x] != 0 : return data[x] data[x] = fibo(x - 1) + fibo(x - 2) return data[x]..

백준(Python) 2581번 소수 풀이

Python으로 구현한 2581번 소수 문제 풀이입니다. https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net m = int(input()) n = int(input()) result = 0 min = 0 for i in range(m, n + 1) : flag = 0 if i == 1 : continue for j in range(2, i) : if i % j == 0 : flag = 1 break if flag == 0 : if min == 0 : min ..

백준(Python) 2609번 최대공약수와 최소공배수 풀이

Python으로 구현한 2609번 최대공약수와 최소공배수 문제 풀이입니다. https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net a, b = map(int, input().split()) a_value = a b_value = b while b_value != 0 : a_value = a_value % b_value a_value, b_value = b_value, a_value print(a_value) print(a * b // a_value) 반복문을 통해 최대공약수를 먼저 구하도록 한다. 두 수 a와 b가 있..

백준(Python) 1085번 직사각형에서 탈출 풀이

Python으로 구현한 1085번 직사각형에서 탈출 문제 풀이입니다. https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net x, y, w, h = map(int, input().split()) w -= x h -= y if x > w : x = w if y > h : y = h if x > y : print(y) else : print(x) 이 문제는 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 문제로, 직사각형의 네변 중 ..

백준(Python) 1929번 소수 구하기 풀이

Python으로 구현한 1929번 소수 구하기 문제 풀이입니다. https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net m, n = map(int, input().split()) def prime_number(x) : if x == 1 : return False else : for i in range(2, int(x**0.5) + 1) : if x % i == 0 : return False return True for i in range(m, n + 1) : if prime_numb..

백준(Python) 10250번 ACM 호텔 풀이

Python으로 구현한 10250번 ACM 호텔 문제 풀이입니다. https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net tc = int(input()) for _ in range(tc) : h, w, n = map(int, input().split()) if n % h == 0 : print('%d%02d'%(h, n/h)) else : print('%d%02d'%(n%h, n/h + 1)) 우선 테스트 케이스를 입력받은 후 입력받은 테..