BOJ[1977] - 완전제곱수 by JavaScript
완전제곱수
문제
언어
- JavaScript
순서도
- 주어진 M 과 N 의 근호값 구하기
- 구한 두 근호값 사이에서 완전제곱수 구하기
문제 풀이 step 1
- 주어진 M 과 N 의 근호값을 구하고, 구한 두 근호값 사이에서 완전제곱수를 구하면 됩니다.
- 만약 완전제곱수가 없다면 -1 을 출력하고, 있다면 그 합과 최솟값을 출력하면 정답이 됩니다.
소스 코드
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const solution = (input) => {
const m = Number(input[0]);
const n = Number(input[1]);
const arr = [];
const start = Math.ceil(Math.sqrt(m));
const end = parseInt(Math.sqrt(n));
for (let i = start; i <= end; i++) {
arr.push(i * i);
}
if (arr.length === 0) return -1;
else return `${arr.reduce((ac, v) => ac + v)}\n${arr[0]}`;
};
console.log(solution(input));