문제 링크입니다: 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 |