수학 4

[baekjoon] 백준 2407번 : 조합 (by python 파이썬) 수학 조합

https://www.acmicpc.net/problem/2407 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 정답 code # 조합 import math # nCm = n! / (n-m)! *m! n,m = map(int,input().split()) top = math.factorial(n) bottom = (math.factorial(n-m)) * (math.factorial(m)) print(top//bottom) solution math모듈에 factorial 함수를 이용하여 쉽게 구현 하였다. nCm = n! / (n-m)! * m!를 위아래로 나눠 계산후 출력해주면 된다.

[baekjoon] 백준 1629번 : 곱셈 (by python 파이썬) 수학, DAC(분할정복)

정답 code # 곱셈 import sys input = sys.stdin.readline a,b,c = map(int,input().split()) def power(a,b): if b == 1: return a%c else: tmp = power(a,b//2) if b%2 == 0: return tmp * tmp % c #b가 짝수 else: return tmp*tmp* a % c #b가 홀수 print(power(a,b)) solution 이 문제는 단순하게 모두 곱한후 나누면 시간초과가 난다. 따라서 분할정복을 통해 나눠서 계산해줘야되는데 10 ^ 11 = 10^5 * 10^5 * 10 이런식으로 분할하여 시간을 줄여주는 것이다. 만약 b가 짝수라면 a를 한번더 곱해주지 않고 10 ^ 10 = 1..

[baekjoon] 백준 9461번 : 파도반 수열 (by python)

https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 정답 code #파도반 수열 import sys input = sys.stdin.readline pado = [0 for _ in range(101)] for i in range(1,101): if i == 1: pado[i] = 1 elif i == 2: pado[i] = 1 elif i == 3: pado[i] = 1 elif i == 4: pado[i] = 2 elif i == 5: pado[i]..

[baekjoon] 백준 6063번 : 카잉 달력 (by python 파이썬) 자세한 설명

https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 정답 code #카잉 달력 t = int(input()) for _ in range(t): m,n,x,y = map(int,input().split()) f = 1 while x (3-9) % 12 != 0 k = 13 -> (13-9) % 12 != 0 k = 23 -> (23-9) % 12 != 0 k = 33 -> (33-9) % 12 == 0 정답은 33 이 나오게 된다. x = 3(33) y..