수열

면접 대비

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

요약
첫째 항, 0이 아닌 공차, 값을 주고 그 값이 등차수열에 나타나면 몇 번째 항인지 출력하고 아니면 X를 출력한다.
난이도

쉬움10점 중 3점

유형
수학, 구현, 정수론
정답자
아직 제출이 없습니다

문제

등차수열은 첫째 항 다음의 모든 항이 바로 앞 항에 일정한 수(이를 공차라고 한다)를 더해 만들어지는 수열이다.

예를 들어 3,5,7,93, 5, 7, 9는 첫째 항이 33이고 공차가 22인 등차수열이다. 첫째 항 이후의 각 항은 바로 앞 항에 22를 더해 만들어진다. 여기서 33은 제11항이고 99는 제44항이다.

첫째 항, 공차, 그리고 어떤 값이 주어질 때, 그 값이 이 수열에 나타날 수 있는지 판정하라. 나타날 수 있다면 그 값이 몇 번째 항인지 출력하고, 그렇지 않다면 문자 X를 출력한다.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 공백으로 구분된 세 정수가 주어진다.

  • 수열의 첫째 항,
  • 공차(0이 아닌 정수),
  • 판정할 값.

입력은 0 0 0으로 이루어진 줄로 끝나며, 이 줄은 처리하지 않는다.

출력

종료 줄을 제외한 각 입력 줄마다 한 줄씩 출력한다. 값이 수열에 속하면 그 값이 몇 번째 항인지를 나타내는 수를, 속하지 않으면 X를 출력한다.

제한

  • 첫째 항, 공차, 값은 모두 −6000000-6000000 이상 60000006000000 이하이다.

힌트

첫 번째 질의 3 2 11에서 수열은 3,5,7,9,11,…3, 5, 7, 9, 11, \dots이므로 1111은 제55항이다.

두 번째 질의 -1 -3 -8에서 수열은 −1,−4,−7,−10,…-1, -4, -7, -10, \dots이므로 −8-8은 나타나지 않아 답은 X이다.

예제3

  1. 예제 1

    입력
    3 2 11
    -1 -3 -8
    0 0 0
    
    예상 출력
    5
    X
    
  2. 예제 2

    입력
    3 2 3
    0 0 0
    
    예상 출력
    1
    
  3. 예제 3

    입력
    3 2 1
    0 0 0
    
    예상 출력
    X