CodeWars 일백 스물 두 번째 문제

Updated:

Diophantine Equation

public static String solEquaStr(long n) {
		
    List<String> xList = new ArrayList<String>();

    for(long i = 1; i <= Math.sqrt(n); i++) {
        long powerTwoOfX = i + n / i;
        long powerTwoOfY = powerTwoOfX / 2 - i;

        if((n % i == 0) && (powerTwoOfX % 2 == 0) && (powerTwoOfY % 2 == 0)) {
            xList.add("[" + powerTwoOfX / 2 + ", " + powerTwoOfY / 2 + "]");
        }
    }

    return "[" + String.join(", ", xList)+ "]";
}
  • 중학교 수학공식의 인수분해와 부정방정식을 가지고 푸는 문제였다.
  • 딱히 뭐 설명할게 없다.