출처 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXVyCaKugQDFAUo&
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
1. 문제 설명
양의 정수 N에 대해 N = X^3가 되는 양의 정수X 를 구하여라.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 하나의 정수 N(1≤N≤10^18) 이 주어진다.
[출력]
각 테스트 케이스마다 첫 번째 줄에는‘#T’(T는 테스트케이스 번호를 의미하며 1부터 시작한다.)를 출력하고, N = X^3가 되는 양의 정수 X를 출력한다.
만약 이런 X가 존재하지 않으면 -1을 출력한다.
2. 코드
0부터 시작하며 일정 범위까지 검사하며 세제곱근이 있는 경우 결과를 저장하고 아닌경우 -1을 출력하도록 하였습니다. 처음에 접근할 때는 세제곱근을 만드는 방법을 사용하려 했지만 소수점이 부정확한 부분이 많아서 방법을 바꾸었습니다.
아래가 작성한 코드입니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
T = int(input())
for tc in range(1, T+1):
N = int(input())
result = -1
k = 0
# 세제곱근 찾기
while k**3 < N:
k += 1
# 입력된 수의 세제곱근과 같은 경우 결과 반환
if k**3 == N:
result = k
break
print('#{} {}'.format(tc, result))
|
'python' 카테고리의 다른 글
| 오목 Python (BEAKJOON) (0) | 2020.03.22 |
|---|---|
| N-Queen Python (SW Expert Academy) (0) | 2020.03.21 |
| [S/W 문제해결 기본] 2일차 - Ladder2 Python (SW Expert Academy) (0) | 2020.03.20 |
| [S/W 문제해결 기본] 2일차 - Ladder1 Python (SW Expert Academy) (0) | 2020.03.19 |
| [S/W 문제해결 기본] 5일차 - Magnetic Python (SW Expert Academy) (0) | 2020.03.18 |