| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 랜덤 순서 배열
- 빅오메가
- Big-Oh 예제
- Big Omega
- includepdf
- homogeneous linear system
- 재귀함수
- Big-Oh notation
- 코틀린 Hello World!
- trivial solution
- nonhomogeneous linear system
- recursive algorithms
- itertools
- matrix fo a linear transformation
- 빅오 표기법
- python
- 페이지 겹칩
- 알고리즘 분석의 실례
- 배열 섞기
- NumPy
- 코틀린 시작하기
- 이진 탐색
- 빅세타
- Big-O 예제
- Big Theta
- linear dependence
- one-to-one
- 일차변환
- matrix trnasformations
- nontrivial solution
- Today
- Total
코딩 연습
import math def primecheck(n): if n == 2 or n == 3: return True if n % 2 == 0 or n == 1: return False for i in range(3, int(math.sqrt(n)) + 1, 2): if n % i == 0: return False return True if __name__ == "__main__": yn = "y" while yn == "y" or yn == "Y": n=input("소수인지 확인하고 싶은 수는? ") if primecheck(int(n)): print("%d는(은) 소수입니다." % int(n)) else: print("%d는(은) 합성수입니다." % int(n)) yn = input("계속 확인하시겠습니..
프로그래밍을 이용하여 수학문제를 풀때 의외로 소인수 분해를 해야할 일이 많아진다. 소인수 분해의 원리는 다들 잘 알고 있으리라 생각된다. 일단 소수들의 리스트를 만들어 놓고, 그것들을 하나씩 불러내서 소인수 분해 하고자 하는 수를 나누어 떨어지는 동안 계속 나눈다. 나누어 떨어지지 않게 되면 소수들의 리스트에서 다음 소수를 불러내 똑같은 작업을 반복한다. 이 작업을 몫이 1이 될때까지 계속한다. 예를 들어, 80을 소인수분해 하면 (몫, 소인수)가 다음과 같이 변해 갈 것이다. (40, 2) (20, 2) (10, 2) (5, 2) 이제 5는 2로 나누어 떨어지지 않으므로 3을 불러낸다. 그러나 5는 3으로도 나누어 떨어지지 않으므로 5를 불러낸다. (1, 5) 이제 몫이 1이 되었으므로 소인수 분해를 ..
순열의 경우를 나열하는 것과 조합의 경우를 나열하는 것은 비슷한 듯 비슷하지 않은것 같다. 일단 원리는 다음과 같다. abcde 중 3개를 선택하는 조합을 생각한다면 먼저 abc 가 될 수 있고, 이제 마지막 알파벳을 하나씩 오른쪽으로 옮겨가며 선택한다. 그래서 얻을 수 있는 것이 abd, abe가 된다. 알파벳이 마지막까지 오게 되면 이제 알파벳 b을 오른쪽으로 옮겨 똑 같은 작업을 반복한다. 그래서 얻을 수 있는 것이 acd, ace가 된다. 다시 c를 오른쪽으로 한 칸 옮기면 ade가 선택된다. 이제 a를 오른쪽으로 한 칸 옮겨 같은 작업을 반복한다. 그래서 얻을 수 있는 것이 bcd, bce가 되고, 다시 c를 오른쪽으로 한 칸 옮겨 얻는 것이 bde가 된다. 마지막으로 b를 한 칸 오른쪽으로 옮..