자료구조와 알고리즘, 수학, 통계학/기초수학

기초수학 정리 01. 최대공약수부터 순열, 조합, 확률까지

책다니엘 2024. 2. 15. 16:12

1. 유클리드 호제법을 이용해서 최대공약수를 구할 수 있다.

유클리드 호제법:
x,y의 최대공약수는 y, r(x%y)의 최대공약수와 같다.

 

# 유클리드 호제법을 이용해서도 최대공약수를 구할 수 있다.

num1 = int(input('1보다 큰 정수 입력: '))
num2 = int(input('1보다 큰 정수 입력: '))

temp1 = num1
temp2 = num2

while temp2 > 0:
    temp = temp2
    temp2 = temp1 % temp2
    temp1 = temp

print('{}, {}의 최대공약수: {}'.format(num1, num2, temp1))

for n in range(1, temp1 + 1):
    if temp1 % n == 0:
        print('{}, {}의 공약수: {}'.format(num1, num2, n))

 

2. 등차수열의 일반항은 다음과 같다.

An = A1 + (n - 1) * d (n>=2, d는 공차)

 

3. 등차중항은 연속된 세 항 중 가운데 항이다.

An = (An+1  +  An-1) / 2

 

4. 등차중항을 통해 등차수열의 합을 구할 수 있다.

Sn = n(A1 + An) / 2 = n(A1 + A1 + (n-1)d) / 2 = n(2A1 + (n-1)d) / 2

 

5. 등비수열의 일반항은 다음과 같다.

An = A1 * r^(n-1)

 

6. 등비중항은 연속된 세 항 중 가운데 항이다.

An^2 = An+1 * An-1

 

7. 등비중항을 응용해 등비수열의 합을 구할 수 있다.

Sn = A1 * (1-r^n) / (1-r)

 

8. 등차수열과 등비수열의 합을 간단하게 시그마로 나타낸다. 

등비수열의 합을 나타낸 시그마

 

9. 계차 수열이란 어떤 수열의 인접하는 두 항의 차로 이루어진 또 다른 수열이다.

10. 계차 수열을 이용해서 수열 An의 일반항을 구할 수 있다.

계차수열의 일반항을 구하는 법

 

11. 군수열이란 여러 개의 항을 묶었을 때 규칙성을 가지는 수열이다.

 

inputN = int(input('N의 값 입력: '))
flag = True
n = 1
nCnt = 1
searchN = 0
while flag:
    for i in range(1, (n + 1)):
        if i == n:
            print('{}'.format(i), end=" ")
        else:
            print('{}'.format(i), end=' ')
        nCnt += 1
        if (nCnt > inputN):
            searchN = i
            flag = False
            break
    print()
    n += 1

print('{}항: {}'.format(inputN, searchN))

# N의 값 입력: 15
# 1 
# 1 2 
# 1 2 3 
# 1 2 3 4 
# 1 2 3 4 5 
# 15항: 5

 

12. 순열이란 n개에서 r개를 택하여 '나열하는' 경우의 수이다. (순서는 생각하지 않는다) Permutation이라고 한다.

nPr = n! / (n-r)!

 

13. 조합이란 n개에서 r개를 '택하는' 경우의 수이다. (순서를 고려한다) Combination이라고 한다.

nCr = n! / r!(n-r)!

 

14. 확률이란 모든 사건에서 특정 사건이 일어날 수 있는 수를 나타낸 것이다. 확률을 구해야 하는 상황을 잘 보고, 순열 또는 조합을 채택하여 전체 사건으로 나누면 된다.