상근이는 선영이와 함께 게임을 하고 있다. 먼저, 상근이는 두 양의 정수 A와 B를 고른다. (1 ≤ B ≤ A ≤ 500) 그 다음, 선영이는 상근이가 고른 수를 맞춰야 한다.
상근이는 선영이에게 다음과 같은 힌트를 주었다.
A의 제곱은 B의 제곱보다 N만큼 커 (1 ≤ N ≤ 1,000)
위의 힌트 조건을 만족하는 A와 B 쌍의 개수를 구하는 프로그램을 작성하시오.
첫째 줄에 N이 주어진다.
상근이의 힌트 조건을 만족하는 (A,B) 쌍의 개수를 출력한다.
15
2
!!!!!!!!주어진 변수 범위 잘보자!!!!!!!!
B^2 + N > A^2 이면 종류, 그게 아니라면 B를 1씩 증가시켜서 반복하면 된다.
B 의 범위가 1<=B<=A인데, 처음에 0<=B<=A 로 처리해서 시간 날렸다. 문제 잘 읽어보자.
import sys
sys.setrecursionlimit(10 ** 6)
input = sys.stdin.readline
N = int(input())
cnt = 0
for A in range(1, 501):
for B in range(1, A+1): # 실수했던 부분
if (B**2 + N) > A**2:
break
if (B**2 + N) == A**2:
cnt+=1
print(cnt)