알고리즘/BOJ

백준 1977본 완전제곱수

꾸준함. 2018. 5. 6. 18:57

문제 링크입니다: https://www.acmicpc.net/problem/1977


100의 제곱이 10000이기 때문에 반복문을 1부터 100까지 처리하면 됩니다.


#include <iostream>

using namespace std;

 

int M, N;

bool first;

int firstSquare;

 

int getSum(void)

{

        int sum = 0;

        //10000 100의 제곱

        for (int i = 1; i <= 100; i++)

        {

                 int square = i * i;

                 //범위 내에 있다면

                 if (square >= M && square <= N)

                 {

                         //첫 번째 제곱수라면

                         if (!first)

                         {

                                 firstSquare = square;

                                 first = true;

                         }

                         sum += square;

                 }

        }

        if (sum)

                 return sum;

        else

                 return -1;

}

 

 

 

int main(void)

{

        cin >> M >> N;

 

        first = false;

        cout << getSum() << endl;

        if(first)

                 cout << firstSquare << endl;

        return 0;

}


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 2750번 수 정렬하기 + 백준 2751번 수 정렬하기 2  (0) 2018.05.07
백준 10989번 수 정렬하기 3  (0) 2018.05.07
백준 2602번 돌다리 건너기  (0) 2018.05.06
백준 1958번 LCS 3  (0) 2018.05.06
백준 1076번 저항  (0) 2018.05.06