[코드트리] - 제곱근 사이의 수를 구하는 함수

LSDrug·2024년 7월 30일
0

문제풀이

목록 보기
6/21

제곱근 사이의 수를 구하는 함수 ⭕

문제

https://www.codetree.ai/training-field/search/problems/function-to-find-number-between-square-roots?&utm_source=clipboard&utm_medium=text

풀이

역시나 아주 쉬운 문제.

다음을 알고 있으면 아주 쉽게 풀 수 있다.

1. 제곱근을 나타내는 함수
2. 실수를 정수로 변환하는 법

제곱근을 나타내기 위해서는 sqrt()함수를 사용하면 된다.

double sqrtNum = sqrt(number) 혹은 int sqrtNum = sqrt(number)로 사용한다.
이때, 변수의 종류는 때에 따라 맞춰 사용한다.
이와 비슷하게 사용되는 것은 제곱(pow), 절대값(abs)를 들 수 있다.

해당 함수의 사용을 위해서는 cmath 헤더파일이 필요하다.

또한 실수를 정수로 변환하기 위해서는 앞 부분에 (int)의 형태로 작성하면 쉽다.

해당을 기준으로 코드를 나타내면 다음과 같다.

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    // 여기에 코드를 작성해주세요.
    double a,b;

    cin >> a >> b;

    if(b < a) swap(a, b); // b가 a보다 작은 경우 a,b 교체
    // a가 반드시 b보다 작도록 만든다. 

    int cnt = 0;
    for(int i = (int) sqrt(a); i <= (int) sqrt(b); i++) {
        cnt++; // a가 버려지면서 정수로 변환되어 하나가 더 많이 찍힌다.
        // 7~15까지를 6~15까지로 찍히는 격.
    }
	

    cout << cnt - 1; // 하나가 더 많이 찍히기 때문에 하나를 빼준다.
    return 0;
}

이때, swap을 사용하지 않고 if문을 통해서 나타낼 수도 있다.


profile
마약같은 코딩, 마약같은 코딩러

0개의 댓글

관련 채용 정보