공부/Code Cata
std::sqrt
동그래님
2024. 12. 22. 14:33
#include <cmath>
using namespace std;
int solution(int n) {
int answer = 0;
int k = n - 1; //n에서 나머지가 1이 되기 위한 수
for(int i = 2; i <= sqrt(k); i++) //k의 약수 찾기.
{
if(k % i == 0)
{
return i;
}
}
return k; //만약 k의 약수가 없다면 n-1인 k자체가 최소값을 의미.
}
sqrt 제곱근 함수
sqrt 함수는 C++ 표준 라이브러리에서 제공하는 수학 함수이고, 제곱근(SquareRoot)를 계산한다.
함수 원형: double sqrt(double x);
#include <cmath> 헤더를 포함해야한다.
함수 원형을 보면 부동소수점 연산을 사용함으로, 아주 큰 값이나 아주 작은 값에서는 약간의 오차가 발생할 수 있다.
정수 제곱근 판별, 약수 계산 등 다양한 수학적 문제에 활용될 수 있다.
n값의 최대 범위가 크기에 이 문제를 어떻게 풀지 고민하다가 n값을 x로 나눈 나머지가 1이 되기 위해, k = n - 1 값의 가장 작은 약수를 구하는 방법을 선택했다.