아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

유일한 직각삼각형

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

요약
N 이하의 둘레 중에서 변이 정수인 직각삼각형을 정확히 하나로 만드는 경우를 셉니다.
난이도

보통10점 중 7점

유형
정수론, 배열, 누적 합
정답자
아직 제출이 없습니다

문제

세 변의 길이가 모두 정수인 직각삼각형 모양으로 구부릴 수 있는 가장 짧은 줄의 길이는 12cm이다. 그런 길이를 몇 개 더 들면 다음과 같다.

  • 12cm: (3, 4, 5)
  • 24cm: (6, 8, 10)
  • 30cm: (5, 12, 13)
  • 36cm: (9, 12, 15)
  • 40cm: (8, 15, 17)
  • 48cm: (12, 16, 20)

길이가 20cm인 줄로는 어떻게 구부려도 세 변이 모두 정수인 직각삼각형을 만들지 못한다.

반대로 한 길이로 여러 가지 직각삼각형을 만들 수 있기도 하다. 예를 들어 120cm는 세 가지이다.

  • 120cm: (30, 40, 50), (20, 48, 52), (24, 45, 51)

줄의 길이를 LL이라고 하자. L≤NL \le N인 LL 가운데 세 변이 모두 정수인 직각삼각형을 정확히 한 가지만 만들 수 있는 것은 몇 개인가? 세 변의 순서만 다른 삼각형은 같은 것으로 센다.

입력

입력은 여러 개의 테스트로 이루어진다. 각 줄에 정수 NN이 하나씩 주어지고, 입력의 끝까지 계속된다. (1≤N≤20 000 0001 \le N \le 20\,000\,000)

출력

각 테스트마다 L≤NL \le N인 LL 가운데 세 변이 모두 정수인 직각삼각형을 정확히 한 가지만 만들 수 있는 LL의 개수를 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    12
    30
    
    예상 출력
    1
    3
    
  2. 예제 2

    입력
    1
    2
    11
    
    예상 출력
    0
    0
    0