본문 바로가기

분류 전체보기

다항식 - 4 1. 교대식의 인수분해 (1) 교대식의 성질 다항식에 포함된 임의의 두 문자를 서로 바꿔 쓸 때, 식의 형태는 같지만, 그 식 전체의 부호는 반대가 되는 식. ※ f(x, y, z) = -f(y, x, z) = -f(x, z, y) = -f(z, y, x) - f(x , y, z)는 x-y, y-z, x-z를 인수로 갖는다. (2) 대칭식의 성질 다항식에 포함된 임의의 두 문자를 서로 바꿔 쓰더라도 의미가 변하지 않는 식. 특히, 차수가 모두 같은 항으로 이루어진 대칭식을 동차대칭식이라고 한다. ※ f(x, y, z) = f(y, x, z) = f(x, z, y) = f(z, y, x) - 1차 동차대칭식 : k(x + y + z) - 2차 동차대칭식 : k(x² + y² + z²) + l(xy + yz.. 더보기
CHAPTER02 - C언어 기반의 C++ CHAPTER 02의 시작에 앞서 - 상수(const)의 의미 => const int num = 10; // 변수 num을 상수화 => const int *ptr1 = &val1; // 포인터 ptr을 통해 val1의 값을 변경할 수 없으나, 다른 변수의 주소 저장 가능 => int const *ptr1 = &val1; // 포인터 변수 ptr을 상수화 => const int const *ptr1 = &val1; // 위의 두 가지 특성을 다 가진다. 1. 새로운 자료형 bool C언어에서는 별도로 매크로 상수로 지정해 주지만, C++에서는 'true'와 'false'가 존재한다. 위의 데이터를 저장하기 위한 자료형을 'bool' 이라고 한다. int, double과 같은 기본자료형의 하나이기 때문에 다.. 더보기
CHAPTER01 - C언어 기반의 C++ C++은 C언어를 포함한다. 때문에 C로 작성된 대부분의 프로그램은 C++ 컴파일러로도 컴파일이 가능하다. 그러나 C++은 C언어가 지니지 않는 문법적 특성도 제법 지니고 있다. 1. 헤더파일 선언문 #include C언어와 똑같이 헤더파일의 확장자는 .h이지만 C++에서는 표준 헤더파일의 선언에는 확장자를 생략하기로 약속되어 있다. 2. 입력과 출력 C언어에서는 서식문자를 통해 별도의 출력 및 입력 포맷을 지정해줘야 하지만 C++에서는 데이터의 타입에 따라 적절하게 동작하므로 더 편리하다. ( 문자열의 경우도 똑같다. ) 3. C++의 지역변수 선언 C의 경우 무조건 함수의 가장 처음 부분에 정의되어 있어야 하지만, C++의 경우 지역변수 선언은 함수 내 어디든지 가능하다. 4. 함수 오버로딩(Func.. 더보기
다항식 - 3 인수분해 1. 인수분해의 기본 공식 다항식이 둘 이상의 수, 단항식, 다항식의 곱으로 표현될 때, 이러한 수, 단항식, 다항식을 그 다항식의 인수(factor)라 한다. 이와 같이 하나의 다항식을 몇 개의 인수의 곱으로 표현하는 것을 그 다항식의 인수분해(factorization)라 한다. - 전개와 인수분해는 서로 역과정 (1) 수행과정 - 공통인수가 있다면 공통인수로 먼저 묶는다. - 전체 또는 부분으로 묶어서 인수분해의 공식을 이용한다. 2. 치환을 이용한 인수분해 (1) 반복되는 부분을 한 문자로 치환해서 푼다. (2) 짝수 차수의 항만 이루어진 다항식, 즉 복이차식이면 x² = X로 치환한다. 이때 치환을 해도 인수분해가 안되면, A² - B² 꼴로 변형가능한지 살펴본다. 3. 내림차순으로 정리.. 더보기
C언어 막대 자르기(Rod cutting in C) - 동적 프로그래밍(Dynamic-Programming) C언어 막대 자르기(Rod cutting in C) - 동적 프로그래밍(Dynamic-Programming) - 어떤 막대(rod)를 그들의 최종 값을 최대화하는 방식으로 작은 길이의 막대로 자르는 것 - 막대의 어느 부분을 자를 것인지 선택하는 간단한 문제 - 막대의 길이 n(inches)와 가격 p를 고려하여 자른 부위를 팔았을 때 얻을 수 있는 최고의 수익 r을 결정하는 것 - 만약 자른 길이의 가격이 충분히 크다면, 최적의 솔루션은 자르는 것을 전혀 요구하지 않는다. - 막대의 길이가 n이면 총 2ⁿ-¹의 다른 방식으로 자를 수 있다. ( 자르지 않는 경우의 수도 포함 ) the strategy of the rod-cutting, cite : introduction to algoritms 3/E .. 더보기
C언어 문제 - 홀수 또는 짝수의 합 차 구하기 (questions in C) C언어 문제 - 홀수 또는 짝수의 합 차 구하기 (questions in C) - 입력 받은 수가 홀수이면 더하고, 짝수이면 빼라. ( 0을 입력 받으면 종료하고, 최종 수를 출력하라. ) #include int main (void) { int n; int sum = 0; while( 1 ) { scanf("%d", &n); if( n == 0) { break; } if( n % 2 == 1) { sum = sum + n; } else { sum = sum - n; } } printf("%d\n", sum); } 더보기
C언어 문제 - 입력 받은 수의 합 구하기 (questions in C) C언어 문제 - 입력 받은 수의 합 구하기 (questions in C) - 양수 또는 음수를 입력 받아, 입력 받은 모든 수를 누적하라. ( 단 0 입력 시 종료하고, 최종 수를 출력하라. ) int main (void) { int n; int sum = 0; while( 1 ) { scanf("%d", &n); if( n == 0 ) { break; } sum = sum + n; } printf("%d\n", sum); } 더보기
C언어 문제 - 입력 받은 수가 소수 인지 판단하기 (questions in C) C언어 문제 - 입력 받은 수가 소수 인지 판단하기 (questions in C) int main (void) { int n; int i; scanf("%d", &n); i = 2; while( i 더보기
10장 - C언어 반복문(repetitive statement in C)(2) 10장 - C언어 반복문(repetitive statement in C)(2) - 반복문이란 조건이 참일 경우, 특정 루틴을 반복적으로 수행하는 것 이번에는 지난 9장에 이어 반복문에 대해서 조금 더 알아보도록 하겠습니다. 지난 강의에는 for에 대해서 했고, 이번에는 while과 do~while에 대해서 다룰 예정입니다. 반복문의 구조는 약간씩 다르지만, 그 기본은 같다는걸 명심하시면 쉽게 습득하실 수 있을 겁니다. ※ 조건이 참일 경우, 특정 루틴을 반복적으로 수행하는 것 1. while int main (void) { while( 조건 ) { // 반복 루틴 } return 0; } while의 기본 구조는 위의 예제와 같습니다. for문에 비해 상당히 간단한 구조죠? 조건만 존재하고, 해당 조건이.. 더보기
다항식 - 2 1. 항등식 (1) 항등식 : 주목하는 문자에 어떠한 값을 대입하더라도 항상 성립하는 등식 - 좌변과 우변의 식의 형태가 똑같은 식 - 수학적으로 좌변과 우변의 식이 명백히 같은 값을 나타내는 식(곱셈 공식) - 방정식(equation) : 참이 되게 하는 값을 구하는 것이 목적인 등식 2. 미정계수법 항등식의 성질을 이용하여 항등식에서 미지수인 계수의 값을 결정하는 방법 - 항등식이 되도록 계수를 결정하는 것 (1) 계수비교법 : 좌변과 우변의 각 동류항의 계수가 같음을 이용하여 미정계수를 결정하는 방법 => 좌변과 우변을 같은 모양으로 정리하여 각 동류항의 계수를 비교한다. (2) 수치대입법 : 어떠한 값을 대입해도 식이 성립한다는 항등식의 정의를 이용하여 미정계수를 결정하는 방법 => 주목하는 문자.. 더보기