C++ 수학함수 #include <math>

2021. 11. 15. 02:48C++

728x90

2주 차에서는 앞으로 알고리즘 문제를 어떻게 접근해야 하는 수학적 지식?을 늘려줍니다.

많은 디테일과 기초지식과 오개념을 가지고 있다면 2주 차 수학 문제를 풀면서 오개념을 바로잡는 실력을 

기르는 것을 목표로 2주차 스터디를 들으시면 감사하겠습니다.

아마도 밑에 나오는 문제들은 헤더 파일에 #include <cmath> 나 #include <math.h>를 추가로 적어주시면

수학식을 풀어가는데 유용한 라이브러리를 사용할 수 있습니다.

(루트 함수, 제곱, 제곱근, 삼각함수 등등 사용 가능)

https://www.acmicpc.net/problem/4153

 

4153번: 직각삼각형

입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.

www.acmicpc.net

 

#include <iostream>
#include <math.h>
#include<stdbool.h>
#pragma warning(disable:4996);
int main() {
    using namespace std;
    int x, y, z;
    while (1) {
        cin >> x >> y >> z;

        //x = x * x; 
        x=pow(x,2);

        y = y * y;
        //y=pow(y,2);
        z = z * z;
        //z=pow(z*2);
        if (x == 0 && y == 0 && z == 0) break;
        if (x + y == z || x + z == y || y + z == x) {

        cout << "right" << '\n';
    }

        else
        cout<<"wrong"<<'\n';

    }
return 0;
}

 

x=x*x; x=pow(x,2); 둘 다 같음

pow는 #include <math.h>라는 헤더 파일을 통해 사용 가능합니다.

 

 

자주 사용하는 것은 pow, sqrt가 있습니다. 뿐만 아니라 더 많은 정보와 다른 헤더 파일도 보고 싶으면

https://ko.wikipedia.org/wiki/C_%EC%88%98%EC%8B%9D_%ED%95%A8%EC%88%98 

 

C 수식 함수 - 위키백과, 우리 모두의 백과사전

C 수식 함수는 기초 수식 함수들을 구현하는 C 프로그래밍 언어의 표준 라이브러리 안의 함수들의 모임이다.[1][2] 함수 개요[편집] math.h는 여러 수학 함수들을 포함하는 C 언어의 표준 라이브러리

ko.wikipedia.org

 

자, 그러면 과제로 숙제를 드리겠습니다.

https://www.acmicpc.net/problem/2292

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

https://www.acmicpc.net/problem/1002

 

1002번: 터렛

각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

www.acmicpc.net

https://www.acmicpc.net/problem/2869

 

2869번: 달팽이는 올라가고 싶다

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

마지막 두 문제는 저도 한 번씩 틀리고 생각을 깊게 했던 걸로 기억합니다. 

마지막 문제는 기본자료형에 대한 이해를 요구하는 문제입니다. 아마 시간 초과로 틀리실 텐데 이번 문제로 많은

것을 얻어 가셨으면 좋겠습니다.

 

728x90

'C++' 카테고리의 다른 글

C++ String/STL  (0) 2021.12.01
C++ 기본코드  (0) 2021.11.14
(c++) 배열, 구조체, 포인터 (0주차)  (0) 2021.11.08