C++

    [C++] 최대 공약수, 최소 공배수 함수 직접 만들기

    [C++] 최대 공약수, 최소 공배수 함수 직접 만들기

    프로그램에서 최대공약수를 직접 구하기 위해서는 유클리드 호제법을 이용해야 합니다. ※유클리드 호제법이란 두 수 A와 B의 최대 공약수를 구하기 위해서는 유클리드 호제법을 이용해 몫과 나머지를 이용하여야 합니다. 두 수가 최대 공약수 G를 가질 때 A와 B는 A=Ga / B=Gb 로 나타낼 수 있습니다. 또한, A를 B로 나눌 때 A = B * Q + R 이라는 식을 도출할 수 있습니다. 이 식은 Ga=GbQ+R과 Ga-GbQ=R ..... G(a-bQ)=R 로 바뀌며 나머지는 G라는 최대 공약수를 가짐을 보입니다. 따라서 A를 B로 나눌 때의 나머지도 같은 최대공약수를 가짐을 이용하여 나머지가 0이 될때까지 연산을 수행합니다. 먼저 최대공약수를 구하는 checkmin 함수 입니다. int checkmin..

    [C++]소수점 이하의 부분을 출력하는 법

    [C++]소수점 이하의 부분을 출력하는 법

    이번에는 소수점 이하의 자리를 출력하는 법을 포스팅해보겠습니다! 정수와 달리 소수점이 있는 수를 출력하기 위해서는 함수를 추가해야 하는데요. cout.precision() cout

    [C++]문자열을 숫자로 배열하는 법

    [C++]문자열을 숫자로 배열하는 법

    int에서 double, float에서 int 등 숫자간 변환은 캐스팅을 이용하여 간편하게 할 수 있다. 하지만 문자열을 숫자로 변환하고 싶을 때는 어떡할까? c++에서는 기본적인 함수들을 제공하고 있습니다 stoi / stof / stol / stoll / stod 등의 함수가 존재합니다. 이 함수들의 원형은 int stoi(const string& str, size_t* poi = 0, int base = 10); 같이 어렵게 정의되어 있는데요 간단히 보시고 이런 원형은 추후에 알아보도록 하고, 간단히 쓸 수 있는 방법부터 천천히 알아보겠습니다! #include #include using namespace std; int main() { string str1 = "86"; string str2 = "..

    [C++]배열의 크기를 변수로 설정하는 법(동적 배열)

    [C++]배열의 크기를 변수로 설정하는 법(동적 배열)

    ※모든 내용은 필자의 부족한 머리와 서칭실력이 출처이므로 틀린점이 있을 수 있습니다. 프로그래밍 문제를 풀다가 조건에서 배열의 크기가 1,000,000같이 광범위한 범위가 주어졌을 떄에는 직접 배열의 크기를 int arr[300]; for(int i=0;i> length; int* array = new int[length]; 위와 같이 포인터를 사용하여 동적으로 배열을 할당해 사용할 수 있다. new [] 연산자는 힙 영역에 동적으로 배열을 생성하고 배열이 저장된 주소값을 넘겨줍니다. 또한 배열의 사용이 끝났을 때는 delete[] 연산자를 사용하여 배열을 삭제해 주어야 합니다. (메모리리크, 메모리 누수 등) ※배열 값을 0으로 초기화 하는법 int* array = new int[n]();