완전제곱수

문제

언어

  • JavaScript

순서도

  1. 주어진 M 과 N 의 근호값 구하기
  2. 구한 두 근호값 사이에서 완전제곱수 구하기

문제 풀이 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));