이차 방정식

면접 대비

시간 제한1초메모리 제한2048 MB

요약
0이 아닌 정수 k가 주어질 때, 이차방정식 x^2 + px + kp = 0의 두 근이 모두 정수가 되는 서로 다른 정수 p의 개수와 합을 구한다.
난이도

보통10점 중 6점

유형
정수론, 수학, 완전 탐색, 정렬
정답자
아직 제출이 없습니다

문제

주어진 정수 kk (≠0\ne 0)에 대해, 이차 방정식 x2+px+kp=0x^2 + px + kp = 0의 근이 모두 정수가 되도록 하는 서로 다른 정수 pp를 모두 찾는 프로그램을 작성하시오.

예를 들어, k=3k = 3인 경우 즉, x2+px+3p=0x^2 + px + 3p = 0의 근이 모두 정수가 되도록 하는 모든 정수 pp를 크기 순으로 나열하면 −4,0,12,16−4, 0, 12, 16이다.

참고로, kk의 값이 어떻든 상관없이 p=0p = 0이면 주어진 이차식은 정수근 00을 가지기 때문에 조건을 만족하는 정수 pp는 하나 이상 존재한다.

입력

입력은 표준입력을 사용한다. 입력으로는 하나의 정수 kk (−107≤k≤107−10^7 ≤ k ≤ 10^7; k≠0k \ne 0)가 주어진다.

출력

출력은 표준출력을 사용한다. 주어진 kk에 대해 이차 방정식 x2+px+kp=0x^2 + px + kp = 0의 근이 모두 정수가 되도록 하는 서로 다른 정수 pp의 개수와 그 합을 출력하되 하나의 공백 문자로 두 값을 구분한다.

예제2

  1. 예제 1

    입력
    3
    
    예상 출력
    4 24
    
  2. 예제 2

    입력
    -4
    
    예상 출력
    6 -48