2025/04 34

[정수론](1)[피타고라스 세 수]

피타고라스 세 수: a^2+b^2 = c^2를 만족하는 정수(a,b,c)원시 피타고라스 세 수: 피타고라스 세 수 (a,b,c)에서 a, b, c의 공통된 약수가 없음 피타고라스 세 수는 무한한가? -> 참    피타고라스 세 수 (a,b,c)가 있을 때, 정수 k를 각각 곱하면    (ka, kb, kc)이고    (ka)^2+(kb)^2 = (kc)^2    => k^2(a^2+b^2) = k^2(c^2)이므로 참 원시 피타고라스 세 수는 무한한가? -> 참밑밥깔기추측1: a, b중 하나는 짝수, 나머지는 홀수(a, b)가 모두 짝수면 c도 짝수이므로 a, b 둘 다 짝수는 안됨(a= 2x+1, b=2y+1)인 홀수라 하면, 홀수^2+홀수^2 = 홀수 + 홀수 = 짝수이므로, c는 짝수 = 2za^2..

정수론 2025.04.03

[자료구조](3)[배열&리스트&구조체]

ADT(Abstract Data Type): 추상 데이터 타입데이터를 어떻게 저장하는지 정의-> 데이터, 데이터 연산 정의 배열: 데이터의 모음    같은 자료형만 넣는다    메모리에 연속적으로 배열되어 있다 2차원 배열 = 1차원 배열의 결합int arr[2][2]일때1차원 int 더블 포인터 배열 arr는 arr[0], arr[1]을 가리킴1차원 int 포인터 배열 arr[0]는 arr[0][0], arr[0][1]을 가리킴int인 arr[0][0], arr[0][1]에는 값들이 담겨있다. 배열의 ADT데이터: 연산    create(size): size 크기의 배열 생성    get(array, index): array의 index에 있는 element를 가져옴    set(array, index..

CS/자료구조 2025.04.02

[자료구조](2)[재귀]

재귀: 자기 자신을 호출하는 함수base case: 재귀 호출이 끝나는 조건recursive case: 자기 자신을 호출하는 부분base case 빠트리면 재귀가 안끝나니 주의!재귀함수의 동작-> 스택을 이용한다 (컴퓨터 구조 14 참고)함수가 호출되면 스택을 할당받는다자기 자신이 불릴 때마다 스택을 받는다base case에 도달하면 LIFO로 나중에 불린 함수부터 스택을 반환한다.예) 팩토리얼 계산 함수int factorial(int n){ if (n==0) return 1; else return (n * factorial(n-1));}base case = if (n==0) return 1; recursive case = return (n * factorial(n-1));실제로 프로그램을 돌려보면 각 ..

CS/자료구조 2025.04.01
728x90
반응형