DINGA DINGA
article thumbnail
728x90

https://www.hackerrank.com/challenges/sherlock-and-squares/problem

 

Sherlock and Squares | HackerRank

Find the count of square numbers between A and B

www.hackerrank.com

 

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