본문 바로가기
데이터 어쩌구/통계 ・ 수학

[이론] 기초 수학

by annmunju 2021. 9. 28.

약수와 소수

  • 약수 : 어떤 수를 나누어떨어지게 하는 수
  • 소수 : 1과 자신만을 약수로 가지는 수 (단, 1은 제외)

 

소인수분해

- 소인수 : 약수(인수) 중에서 소수인 숫자들.

  • 소인수를 구하기 위해서 : 숫자의 약수를 구하고 > 소수를 찾거나 , 약수의 약수를 구해서 소수를 찾음.

 

최대공약수와 최소공배수

- 공약수 : 두 개 이상의 수에서 공통된 약수

- 최대 공약수 : 공약수 중 가장 큰 수

  • 방법 : 소인수 분해를 이용하면 최대공약수 및 공약수를 구할 수 있음. (두 수의 소인수 중 공통된 큰 수)
  • 유클리드 호제법 : x, y의 최대 공약수는 y, (x%y)의 최대공약수와 같다.

- 공배수 : 두개 이상의 수에서 공통된 배수를 공배수라고 한다.

- 최소 공배수 : 공배수 중 가장 작은 수를 최소공배수라고 한다.

  • 소인수분해를 이용해서 최소공배수 및 공배수를 구할 수 있다. : (숫자1 * 숫자1) // 두 숫자의 최대공약수

 

진법

진법이란 특정 숫자 몇 개를 사용하여 수를 표시하는 방법.

  • 2진법, 8진법, 10진법, 16진법 (0~9, A~E)

* tip 윈도우의 계산기를 이용하면 프로그래머 버전으로 바꿔서 10, 2, 16진수로 볼 수 있다.

1) 10진수를 x진수로 변환

  (1) 2진수로 변환 : 2로 계속 나누고 나머지 (0,1)로 표현 가능. 아래서 위로 올라가는거 알지?

  (2) 8진수로 변환 : 8로 계속 나누고 나머지 (0~8)로 표현

  (3) 16진수로 변환 : 16으로 계속 나누고 나머지로 표현

2) 2진수를 10진수로 변환 : 자리에 해당하는 수 * 2^(몇번째자리?) : 1000 = (1*(2^3) + 0*(2^2)...) = 8

3) 8진수를 10진수로 변환

4) 2진수를 8진수로 변환 : 뒤에서부터 3자리씩 구분하고 빈자리는 0으로 채운다. ( ) ( ) ( ) : 각각에 자리에 대해 10진수 전환과 동일하게 해주면 그 수 묶음이 각각 자리 숫자가 됨.

5) 2진수 16진수로 변환 : 뒤에서부터 4자리씩 구분하고 빈자리 0으로 ...

 

파이썬을 이용한 진법 변환

  • binary : bin() : 2진수 : 0b ....
  • octal : oct() : 8진수 : 0o ....
  • Hexadecimal : hex() : 16진수 : 0x ....
    (2, 8, 16진수로 표현된 숫자는 문자형 데이터형을 띄고 있음)

 

수열

  • 숫자가 나열되어 있음. 규칙성을 가지고 나열되어 있는 수들.
  • 일반항 표현 : An = 2n + 1, An = 2n - 1 ...
  • 항들의 합과 항의 관계 : An = Sn - S(n-1) : 특정항은 특정항까지 합 - 특정항 이전까지의 합과 같다.

 

등차수열

  • 등차 수열의 규칙성으로 일반항 구하기 : An = A1 + (n-1) * d
  • 등차중항 : ( A(n-1) + A(n+1) ) / 2 = An : 연속된 세 항 가운데 항
  • 등차수열의 합 : Sn = n(Afirst + Alast) / 2 : 첫항이랑 마지막 항 더한 다음 갯수만큼 곱하고 2로 나누면 총 수열의 합이 나옴.

 

등비수열

연속된 두 항의 비가 일정한 수열

  • 일반항 : An = A1 * r^(n-1)
  • 등비중항 : A(n-1) * A(n+1) = An ^2
  • 등비수열의 합 : Sn = A1 * (1-(r^n)) / (1-r)

 

계차수열

어떤 수열의 인접하는 두 항의 차로 이뤄진 또 다른 수열. 

  • 일반항 : 인접항의 수열을 통해 일반항 계산

 

피보나치 수열

토끼의 증식. 세번째 항은 두번째 항과 첫번째 항을 더한 합이다.

 

팩토리얼

1부터 양의 정수 n까지의 정수를 모두 곱한 것. 0! = 1 이다.

 

군수열

여러 항을 묶었을 때 규칙성을 가지는 수열

  • (while문 내 for문이 군 단위로 돌도록 작성)

 

순열

  • 일렬로 나열하는 경우의 수 (순서가 중요함) nPr = n(n-1)(n-2) ... (n-r+1)

ex) 4개 숫자 중 2개의 숫자를 순서 있게 뽑는 경우의 수 : 4*3 

 +) 9개 숫자 중 3개의 숫자를 순서 있게 뽑은 경우의 수 : 9*8*7

 +) 4개 숫자를 순서있게 나열하되, 두 숫자만 서로 이웃하도록 나열 : (a,b) c, d 에 대한 순열 & (b,a) c, d에 대한 순열 (2케이스)

  •  순열은 팩토리얼(계승)을 이용해서 나타낼 수 있다.

 

조합

  • n개에서 r개를 택하는 경우의 수 (순서는 상관 없음) nCr = nPr / r! 

 ex) 5장 중 2장을 택할때 삼각형과 사각형이 동시 선택될수 있는 확률은? 5*4/2*1

 

확률

  • 모든 사건에서 특정 사건이 일어날 수 있는 수를 나타낸 것.
  • 조합을 이용해서 확률을 계산할 수 있음. (특정 사건)/(모든 사건)

 ex) 박스에 꽝이 적힌 종이가 4장 있고, 선물이 적힌 종이가 3장 있다. 3장을 뽑을 때, 각각의 경우의 수를 구해보자.

 + 꽝 0, 선물 3: (조합)으로 1 / 7C3

 + 꽝 1, 선물 2: 4C1 * 3C2 / 35

 + 꽝 2, 선물 1: 4C2 * 3C1 / 35

 + 꽝 3, 선물 0: 4C3 / 35

728x90