Day11_기초수학_9‐13 핵심 - bonniekwon0721/Dataanalytics-study GitHub Wiki
21/Feb/2024
순열 계산
순열은 서로 다른 n개 중에서 r개를 선택하여 일렬로 나열하는 경우의 수를 의미합니다. 주어진 코드는 사용자로부터 전체 개수 numN과 선택할 개수 numR을 입력받아, 순열의 결과를 계산하고 출력합니다.
코드는 다음 단계로 작동합니다:
numN에서 시작하여numN - numR까지 1씩 감소하면서 각 숫자를result에 곱합니다.- 이 과정을 통해
nPr = n! / (n-r)!의 분자 부분을 계산합니다. - 최종 결과를 출력합니다.
조합 계산
조합은 순서를 고려하지 않고 n개 중에서 r개를 선택하는 경우의 수입니다. 주어진 코드는 순열 계산과 유사하지만, 최종 결과를 계산할 때 r의 팩토리얼로 나누어 조합의 결과를 얻습니다.
코드는 다음 단계로 작동합니다:
- 순열의 결과를 계산합니다(
resultP). numR의 팩토리얼을 계산합니다(resultR).resultP / resultR을 계산하여 조합의 결과를 얻습니다(resultC).
확률 계산
이 코드는 특정 조건 하에서 사건이 발생할 확률을 계산합니다. 사용자로부터 전체 개수와 선택할 개수를 입력받아 조합의 결과를 계산하고, 이를 통해 확률을 도출합니다.
코드는 다음 단계로 작동합니다:
- 조합을 계산하는 함수
proFun()을 정의하고, 이를 사용하여 특정 사건 발생 시의 경우의 수를 계산합니다. - 전체 경우의 수와 특정 사건 발생 시의 경우의 수를 이용하여 확률을 계산합니다.
- 계산된 확률을 백분율로 출력합니다.
연습문제
약수와 소수
- 목적: 100부터 1000 사이의 난수에 대해 약수, 소수, 그리고 소인수를 출력하는 프로그램을 만드는 것입니다.
- 작동 방식: 난수를 생성하고, 1부터 그 숫자까지 반복하며 약수를 찾습니다. 동시에, 소수 판별 알고리즘을 사용하여 소수를 찾고, 해당 소수가 난수의 약수인 경우에는 소인수로 분류합니다.
소인수분해
- 목적: 100부터 1000 사이의 난수를 소인수분해하고, 각 소인수의 지수를 출력하는 프로그램을 만드는 것입니다.
- 작동 방식: 난수를 생성하고, 2부터 시작하여 나누어떨어질 때까지 나누며 소인수분해를 수행합니다. 나누어떨어지는 소인수를 리스트에 추가하고, 마지막에 각 소인수의 개수(지수)를 출력합니다.
최대공약수와 최소공배수
- 목적: 100부터 1000 사이의 2개의 난수에 대해 최대공약수와 최소공배수를 구하고, 두 수가 서로소인지 여부를 출력하는 프로그램을 만드는 것입니다.
- 작동 방식: 두 난수를 생성하고, 공약수를 찾아 최대공약수를 구합니다. 이를 바탕으로 최소공배수를 계산하고, 최대공약수가 1인 경우 두 수가 서로소임을 출력합니다.
진법 변환
- 목적: 사용자로부터 입력받은 10진수를 2진수, 8진수, 16진수로 변환하고, 반대로 각 진법의 수를 10진수로 변환하는 코드를 작성하는 것입니다.
- 작동 방식: 파이썬의 내장 함수(
bin,oct,hex)를 사용하여 진법 변환을 수행하고,int함수를 사용하여 문자열 형태의 진법 표현을 10진수로 변환합니다.
등차수열과 등비수열
- 목적: 등차수열과 등비수열의 일반항 및 합의 공식을 사용하여, 주어진 조건에 따라 n번째 항의 값과 합을 구하는 프로그램을 만드는 것입니다.
- 작동 방식: 사용자로부터 첫 항, 공차(또는 공비), n값을 입력받아, 해당 수열의 n번째 항의 값을 구하고, 합을 계산하여 출력합니다.
시그마와 계차수열
- 목적: 시그마(수열의 합)를 사용하여 계산하거나, 계차수열(항 사이의 차이가 일정한 수열)의 특성을 이용하여 문제를 해결하는 프로그램을 만드는 것입니다.
- 작동 방식: 주어진 조건에 맞춰 수열의 합을 구하거나, 주어진 공식을 사용하여 계차수열의 특정 항을 계산합니다.
피보나치 수열과 팩토리얼
- 목적: 피보나치 수열의 n번째 항의 값을 구하고, 팩토리얼을 계산하는 방법을 다양하게 구현하는 것입니다.
- 작동 방식: 피보나치 수열은 반복문 또는 재귀 함수를 사용하여 구현하고, 팩토리얼은 반복문, 재귀 함수, 파이썬의
math.factorial함수를 사용하여 구현합니다.
군 수열
- 목적: 특정 규칙을 가진 수열(군 수열)의 합이 주어진 값(예: 100)을 초과하는 최초의 항을 찾는 프로그램을 만드는 것입니다.
- 작동 방식: 수열의 각 항을 계산하며 합을 누적하고, 합이 100을 초과하는 순간의 항과 값을 출력합니다.
Studied from 제로베이스 데이터 스쿨