제로베이스-데이터-스쿨-13기 #7

Tae_bin·2023년 4월 4일
0
post-thumbnail

⌨️ 기초수학

  1. 약수와 소수
  2. 소인수분해
  3. 최대공약수 / 최소공배수
  4. 진법
  5. 수열
  6. 순열/조합/확률

1. 약수와 소수

1.1. 약수(math factors)

어떤 수를 나누어떨어지게 하는 수

1.2. 소수(prime numbers)

1과 자신만을 약수로 가지는 수(단, 1은 제외)

📌연습문제

1부터 30까지의 숫자 중 5로 나눈 몫과 나머지가 모두 소수인 숫자들을 찾아보자.

  1. 1부터 30까지의 각 수를 5로 나누고 몫과 나머지를 구합니다.
  2. 몫과 나머지가 모두 소수인지 확인합니다.
  3. 둘 다 소수이면 원래 숫자가 조건을 만족합니다.
    이 방법을 사용하면 1에서 30까지 다음과 같은 숫자를 찾을 수 있습니다.
    • 2: 몫은 0, 나머지는 2, 둘 다 소수입니다.
    • 3: 몫은 0, 나머지는 3, 둘 다 소수입니다.
    • 7: 몫은 1, 나머지는 2, 둘 다 소수입니다.
    • 13: 몫은 2, 나머지는 3, 둘 다 소수입니다.
    • 17: 몫은 3, 나머지는 2, 둘 다 소수입니다.
    • 23: 몫은 4, 나머지는 3, 둘 다 소수입니다.
    • 27: 몫은 5, 나머지는 2, 둘 다 소수입니다.
    따라서 1부터 30까지 5로 나누었을 때 몫과 나머지가 모두 소수인 수는 2, 3, 7, 13, 17, 23, 27이다.

📌실습 - 파이썬을 이용해서 약수와 소수를 찾자!

약수

파이썬을 이용해서 사용자가 입력한 숫자의 약수를 출력해보자.


소수

파이썬을 이용해서 사용자가 입력한 숫자까지의 소수를 출력해보자.

2. 소인수분해

📋수를 소인수의 곱으로 나타내자!

2.1. 소인수

약수(인수) 중에서 소수인 숫자를 소인수라고 한다.

2.2. 소인수분해

1보다 큰 정수를 소인수의 곱으로 나타낸 것을 소인수분해라고 한다

인수분해는 주어진 숫자나 대수식의 인수를 찾는 과정입니다. 인수는 함께 곱했을 때 원래의 숫자 또는 표현식을 제공하는 숫자 또는 표현식입니다.
예를 들어, 숫자 24를 생각해 보십시오. 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24입니다. 이것들을 곱하면 24가 됩니다. 약수를 찾는 한 가지 방법 숫자의 제곱근보다 작거나 같은 각 정수로 숫자를 나누고 그 나눗셈에서 얻은 인수를 기록하는 것입니다.
인수 분해는 대수식에도 적용될 수 있습니다. 예를 들어 x^2 - 4x - 21이라는 표현식을 고려하십시오. 이 표현식을 인수분해하려면 -21을 곱하고 더하면 -4가 되는 두 개의 숫자를 찾을 수 있습니다. 그 숫자는 -7과 3이므로 다음과 같이 쓸 수 있습니다.
x^2 - 4x - 21 = (x - 7)(x + 3)
이것은 원래 표현식을 (x - 7)과 (x + 3)의 두 인수의 곱으로 표현하기 때문에 표현식의 인수분해입니다. 인수분해는 식을 단순화하고 방정식을 더 쉽게 풀 수 있게 해주기 때문에 수학에서 중요한 도구입니다.

2.3. 소인수분해와 약수

소인수분해를 이용해서 약수를 정확하고 쉽게 구할 수 있다.

📌실습 - 수를 소인수의 곱으로 나타내자!

소인수분해

파이썬을 이용해서 사용자가 입력한 수를 소인수분해하자.

72에 x를 곱하면 y의 제곱이 된다고 할 때, x에 해당하는 가장 작은 정수를 구하자.

3. 최대공약수 / 최소공배수

📋공통된 약수 중에서 가장 큰 수를 찾자!

3.1.공약수

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

3.2.최대공약수

공약수 중 가장 큰 수를 최대공약수라고 한다.

소인수분해를 이용하면 최대공약수 및 공약수를 구할 수 있다.

좀 더 편리하게 최대공약수 구하는 방법! 소수로 나눗셈 하자!

📌실습

빵 112개와 우유 80개를 학생들에게 균등하게 분배하려면 학생이 몇 명인지 알아야 합니다.
이를 위해서는 112와 80의 공약수인 16을 찾아야 합니다. 즉, 112와 80을 모두 16으로 나누어 각각 7과 5를 얻을 수 있습니다.
따라서 빵을 받을 수 있는 학생은 7명, 우유를 받을 수 있는 학생은 5명입니다.
이제 각 학생이 받을 빵과 우유의 양을 계산해야 합니다.
각 학생이 얼마나 많은 빵을 받을지 알아보려면 빵의 총 수(112개)를 학생 수(7개)로 나누어야 합니다. 이것은 우리에게 16개를 줍니다. 이것은 각 학생이 16개의 빵을 받게 된다는 것을 의미합니다.
마찬가지로, 각 학생이 얼마나 많은 우유를 받을지 알아보려면 총 우유 덩어리 수(80)를 학생 수(5)로 나누어야 합니다. 이것은 우리에게 16을 줍니다. 이것은 각 학생이 16개의 우유 덩어리를 받을 것이라는 것을 의미합니다.
따라서 각 학생은 빵 16덩어리와 우유 16덩어리를 받게 됩니다.

for문과 유클리드 호제법을 이용해서 최대공약수를 구하자

최대공약수

두 개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드를 작성하자.



세 개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드를 작성하자.

유클리드 호제법

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


3.3.공배수

📋공통된 배수 중에서 가장 작은 수를 찾자!

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

3.4.최소공배수

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

소인수분해를 이용하면 최소공배수 및 공배수를 구할 수 있다.

좀 더 편리하게 최소공배수 구하는 방법! 소수로 나눗셈 하자!

📌실습

for문과 유클리드 호제법을 이용해서 최소공배수를 구하자!

두 개의 수를 입력하면 최소공배수를 출력하는 코드를 작성하자.


세 개의 수를 입력하면 최소공배수를 출력하는 코드를 작성하자.

섬마을에 과일, 생선, 야채를 판매하는 배가 다음 주기로 입항한다고 할 때, 모든 배가 입항하는 날짜를 계산해 보자.


4. 진법

📋생활에서 사용하는 10진법 외에 프로그램에서 사용하는 다양한 진법에 대해서 살펴보자!

4.1.진법 이란?

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

10진수 -> X진수 변환



X진수 -> 10진수 변환


2진수 -> 8진수 변환

2진수 -> 16진수 변환

📌실습 - 파인썬을 이용한 진법 변환!

10진수 -> X진수 변환

1) 10진수 -> 2진수, 8진수, 16진수



2) 10진수 -> 2진수, 8진수, 16진수(format()함수 이용)

X진수 -> 10진수 변환


X진수 -> X진수 변환

5. 수열

📋나열된 수들의 규칙을 찾자!

5.1.수열 이란?

규칙성을 가지고 나열되어 있는 수들

항들의 합과 항의 관계

특정항은 특정항까지의 합에서 특정항 이전의 항까지의 합과 같다.

5.2.등차수열 이란?

차이가 같은 수열!

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

1) 등차 수열과 일반항

등차 수열 규칙성을 이용해서 일반항을 구할 수 있다.

2) 등차 중항

연속된 세 항에서 가운데 항

3) 등차 수열의 합

규칙성을 이용해서 모든 항들의 총합을 구할 수 있다.

📌실습 - 차이가 같은 수열!

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

다음 수열을 보고 n번째 항까지의 합을 출력하는 프로그램을 만들어보자.

다음 수열을 보고 n번째 항까지의 합을 출력하는 프로그램을 만들어보자.

5.3.등비 수열 이란?

비가 같은 수열!

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

1) 등비 수열과 일반항

등비 수열 규칙성을 이용해서 일반항을 구할 수 있다.

2) 등비 중항

연속된 세 항에서 가운데 항

3) 등비수열의 합

규칙성을 이용해서 모든 항들의 총합을 구할 수 있다.

📌실습 - 비가 같은 수열

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

5.4.시그마 (∑) 란?

수열의 합을 나타낸 기호 ∑

📌실습

시그마를 이용해서 나타낸 수열의 합을 파이썬 프로그램으로 만들어 보자.

시그마를 이용해서 나타낸 수열의 합을 파이썬 프로그램으로 만들어 보자.

5.5.계차수열 이란?

두 항의 차로 이루어진 또 다른 수열!

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

계차 수열과 일반항

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

📌실습

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.


5.5.피보나치 수열 이란?

an = a(n-2) + a(n-1)

세 번째 항은 두 번째 항과 첫 번째 항을 더한 합이다.

📌실습

파이썬을 이용해서 피보나치 수를 계산하는 프로그램을 만들어보자.

5.6.팩토리얼 이란?

정수 n까지의 모든 정수를 곱한 결과는?

1부터 양의 정수 n까지의 정수를 모두 곱한 것

📌실습

파이썬을 이용해서 팩토리얼 결괏값을 출력하는 프로그램을 만들어 보자.

5.7.군수열이란?

묶어서 규칙성을 찾자!

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

📌실습

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

다음 수열을 보고 n번째 항의 값을 출력하는 프로그램을 만들어보자.

6. 순열/조합/확률

6.1.순열이란?

일렬로 나열하는 경우의 수!


순열은 일련의 객체를 특정한 순서로 배열하는 것입니다. 예를 들어 {A, B, C} 집합은 ABC, ACB, BAC, BCA, CAB 및 CBA의 여섯 가지 서로 다른 순열로 배열될 수 있습니다.
원형 순열은 객체의 순서가 중요하지만 시작점이 고정되지 않은 순열 유형입니다. 즉, 원형 순열은 객체가 원형으로 배열되며, 원형의 어떤 시작점도 시퀀스의 시작으로 간주됩니다.
예를 들어, {A, B, C} 집합을 고려해 보겠습니다. 이 집합의 원형 순열은 ABC, BCA 및 CAB입니다. 각각의 시퀀스는 원형으로 회전하여 원을 형성할 수 있으며, 원의 어떤 시작점이라도 시퀀스의 시작으로 간주됩니다.
원형 순열은 사람들을 테이블에 배치하거나, 일의 교대 근무를 조정하거나, 원형 달력에서 이벤트를 예약하는 등의 실생활 시나리오에서 사용됩니다. 객체 집합의 원형 순열 수를 계산하기 위해 n-1! 공식을 사용합니다. 여기서 n은 집합의 객체 수입니다.

n개에서 r개를 택하여 나열하는 경우의 수

6.2.순열과 팩토리얼

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

📌실습

파이썬을 이용해서 다음 순열들의 값을 구하는 프로그램을 만들어 보자.

6.3.원수열 이란?

4명의 친구가 원탁 테이블에 앉을 수 있는 순서를 계산해보자.

6.4.조합이란?

순서 상관없이 r개 선택하자!

n개에서 r개를 택하는 경우의 수

4개에서 3개를 택하는 경우의 수

순열과 조합

📌실습

파이썬을 이용해서 다음 조합들의 값을 구하는 프로그램을 만들어 보자.

카드 5장 중 2장을 선택했을 때 삼각형과 사각형이 동시에 선택될 수 있는 확률은?


6.5. 확률이란?

특정 사건이 일어날 수 있는 수를 찾자!

모든 사건에서 특정 사건이 일어날 수 있는 수를 나타낸 것.

6.6 확률과 조합

조합을 이용해서 확률을 알아낼 수 있다.

📌실습

박스에 ‘꽝’이 적힌 종이가 4장 있고, ‘선물’이 적힌 종이가 3장이 있을 때, 파이썬을 이용해서 ‘꽝’2장과 ‘선물’ 1장을 뽑는 확률(%)을 출력하자


profile
Learn Data Analytics

0개의 댓글