728x90
https://www.hackerrank.com/challenges/sherlock-and-squares/problem
Algorithms > Implementation
정수 a와 b가 주어지면 a와 b 사이의 제곱수의 개수를 반환한다.
코드
int squares(int a, int b) {
int a_sqrt = sqrt(a), b_sqrt = sqrt(b);
int count = 0;
for (int i = a_sqrt; i <= b_sqrt; i++)
{
int sq = i * i;
if (sq >= a && sq <= b) count++;
}
return count;
}
설명
a와 b의 제곱을 각각 a_sqrt, b_sqrt로 선언한다.
제곱수의 개수를 저장할 count를 선언한다.
for문을 이용해 a_sqrt와 b_sqrt 사이에서 제곱이 되는 수를 찾아 sq에 저장하고,
그 값이 a와 b 사이의 값이라면 count를 1 증가시킨다.
728x90
'C & C++ > HackerRank' 카테고리의 다른 글
[HackerRank] Utopian Tree (0) | 2021.11.28 |
---|---|
[HackerRank] Missing Numbers (0) | 2021.11.28 |
[HackerRank] Closest Numbers (0) | 2021.11.21 |
[HackerRank] Designer PDF Viewer (0) | 2021.11.05 |
[HackerRank] Correctness and the Loop Invariant (0) | 2021.11.05 |