역시나 아주 쉬운 문제.
다음을 알고 있으면 아주 쉽게 풀 수 있다.
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문을 통해서 나타낼 수도 있다.