The Way

백준 1977번: 완전제곱수 본문

PS/백준 온라인 저지

백준 1977번: 완전제곱수

Jeonggyun 2018. 1. 18. 17:19

백준 온라인 저지(BOJ) 1977번 문제

https://www.acmicpc.net/problem/1977



1. 문제 요약

M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합과 최솟값을 구하기.



2. 알고리즘

M과 N이 작으므로 그냥 1씩 올리며 찾는게 쉽다.

제곱 계산 횟수를 줄이기 위해 변수에 저장했다.



3. 코드

#include <iostream>
using namespace std;

int main() {
	int M, N, sum = 0, min = 0, sq, i = 1;
	cin >> M >> N;

	while ((sq = i * i) <= N) {
		if (sq >= M) {
			sum += sq;
			if (min == 0) min = sq;
		}
		++i;
	}
	if (sum == 0) cout << -1 << endl;
	else {
		cout << sum << endl;
		cout << min << endl;
	}
	return 0;
}


'PS > 백준 온라인 저지' 카테고리의 다른 글

백준 2743번: 단어 길이 재기  (0) 2018.02.19
백준 1041번: 주사위  (1) 2018.01.23
백준 1964번: 오각형, 오각형, 오각형…  (0) 2018.01.18
백준 3046번: R2  (0) 2018.01.18
백준 1712번: 손익분기점  (5) 2018.01.18
Comments