문제
상근이는 선영이와 함께 게임을 하고 있다. 먼저, 상근이는 두 양의 정수 A와 B를 고른다. (1 ≤ B ≤ A ≤ 500) 그 다음, 선영이는 상근이가 고른 수를 맞춰야 한다.
상근이는 선영이에게 다음과 같은 힌트를 주었다.
A의 제곱은 B의 제곱보다 N만큼 커 (1 ≤ N ≤ 1,000)
위의 힌트 조건을 만족하는 A와 B 쌍의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다.
출력
상근이의 힌트 조건을 만족하는 (A,B) 쌍의 개수를 출력한다.
예제 입력 1 복사
15
예제 출력 1 복사
2
# 백준/브론즈3/완전 제곱수
n = int(input())
cnt = 0
for i in range(1,501):
for j in range(i, 501):
diff = j*j
if (diff - (i*i) == n):
cnt += 1
elif (diff - (i*i) > n):
break
print(cnt)
# 완전 제곱수 : 어떤 정수를 제곱하여 만들 수 있는 수 (1,4,9,16 ..)
reference
https://www.acmicpc.net/problem/6131
'알고리즘 > 백준' 카테고리의 다른 글
백준 23899 - 알고리즘 수업 - 선택 정렬 5 (0) | 2024.05.17 |
---|---|
백준 1274 - 부호 (0) | 2024.05.16 |
백준 1834 - 나머지와 몫이 같은 수 (0) | 2024.05.15 |
백준 1236 - 성 지키기 (0) | 2024.05.14 |
백준 1371 - 가장 많은 글자 (0) | 2024.05.12 |