[ 오늘의 수업내용 요약 ]
3_004 소인수분해(파이썬)
- 72에 x를 곱하면 y의 제곱이 된다고 할 때 x에 해당하는
가장 작은 정수를 구하자
=> 72는 2 2 2 3 3
=> 2^3 * 3^2
=> 2^3을 짝수 승으로 만들어주면 y의 제곱을 찾을수 있다.
리스트는 여러 가지 데이터를 한번에 보관할 수 있다.
ex) searchNumbers = [2, 2, 2, 3, 3,]
- count 매개변수로 어떤 숫자를 던져주면 리스트에 몇 개가 있는지
반환해서 알려준다.
3_005 최대공약수
- 공약수 : 두 개 이상의 수에서 공통된 약수를 공약수라고 한다.
- 최대공약수 : 공약수 중 가장 큰 수를 최대공약수라고 한다.
- 소인수분해를 이용하면 최대공약수 및 공약수를 구할 수 있다.
- 최대공약수를 좀 더 편리하게 구하는 방법 : 소수로 나눗셈 하기
3_006 최대공약수 (파이썬)
- 유클리드 호제법 : x.y의 최대공약수는 y.r(x%y)의 최대공약수와
같다.
- r은 x를 y로 나눴을 때 나머지다.
- x, y, r 순서
- 12 % 36 = 12
- 36 % 12 = 3
- 12 % 3 = 0
- 나머지가 0일때까지 나눗셈 한다.
3_007 최소 공배수
최소 공배수 : 두 개 이상의 수에서 공통된 배수를 공배수라고 한다.
ex ) 3과 4의 공배수 = 12, 24,,,
- 소인수 분해를 이용하면 최소공배수 및 공배수를 구할 수 있다.
- 좀 더 편리하게 최소공배수 구하는 방법은 소수로 나눗셈을
하면 된다.
3_008 최소 공배수 (파이썬)
- 최소 공배수 구하는 법
=> minNum = (num1 * num2 ) // maxNum
=> 숫자 2 개를 곱해서 최대공약수로 나는 몫이 최소 공배수다.
3_009 진법
- 진법이란 특정 숫자 몇 개를 사용하여 수를 표시하는 방법이다.
- 2진법, 8진법, 10진법, 16진법이 있다.
- 10진수를 x진수로 변환하는 방법
10 진수 8을 2진수로 : 1000
x진수를 10진수로 변환 중 2진수 1000 : 8
2진수를 8진수로 바꿀 때 뒤에서부터 3자리씩 구분하고
빈자리는 0으로 채운다.
2진수를 16진수로 바꿀 때 뒤에서부터 4자리씩 구분하고
빈자리는 0으로 채운다.
3_010 진법(파이썬)
- binary : bin() => 2진수
- octal : oct() => 8진수
- Hexadecimal : hex() => 16진수
- 변환 결과는 문자열
- print(‘2진수 : {}’.format(bin(dNum))
- 혹은 print(‘2진수 : {}’.format(dNum, ‘#b’))) 로
출력해도 똑같이 나온다.(#제외가능)
- x진수를 10진수로 변환할 때
- print(‘2진수(0b11110) -> 10진수({})’.format(int(input(‘0b11110’), 2)))로 출력
3_011 수열
- 수열이란 규칙성을 가지고 나열되어 있는 수들
- an = 2n(n의 정의역 자연수)
- an = {an}은 일반항이라고 한다.
- 특정항은 특정항까지의 합에서 특정항 이전의 항까지의 합과 같다.
- an = sn – s(n1)(단 a1 = s1)
3_012 등차수열
- 연속된 두 항의 차이가 일정한 수열
- 공차 = d
- 등차수열 규칙성을 이용하여 일반항을 구할 수 있다.
- 일반항 : an = a1 + (n-1) * d
- 등차중항 : 연속된 세 항에서 가운데 항
- 등차중항 : (an-1 + an+1) / 2
- 등차 수열의 합 : 규칙성을 이용해 모든 항들의 총합을 구할 수 있다.
- 등차 수열의 합: sn = n(a1 + an) / 2
3_013 등차수열(파이썬)