Python/Beakjoon
9094번: 수학적 호기심
hyunjoo
2021. 8. 24. 23:30
9094번: 수학적 호기심
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. 두 수는 0보다 크고, 100보다 작거나 같다.
www.acmicpc.net
(a,b)=(1,2) ,(1,3) ,(1,4) ,(1,5) ,,,,,,(1,n-1) |
(a,b)=(2,3) ,(2,4) ,(2,5), (2,6) ,,,,,,(2,n-1) |
(a,b)=(3,4), (3,5), (3,6), (3,7) ,,,,,,(3,n-1) |
. . . |
(a,b)=(n-2,n-1) |
>>
식이 정수인 것을 판단하는 기준은 분자를 분모로 나누었을 때 나머지가 0인 숫자쌍으로 한다.
python3 에서는 시간초과고 pypy3에서는 정답인데 왜 그런지는 알아봐야할 것 같다.
python3 에서는 input() 함수가 시간 초과의 원인인 것 같다.
시간 초과를 없애려면 sys.stdin.readline() 를 사용하면 시간을 줄일 수 있다.
T=int(input())
for k in range(0,T):
n,m=map(int, input().split())
cnt=0
for i in range(1,n+1):
for j in range(i+1,n):
a=i
b=j
if (a**2+b**2+m)%(a*b)==0:
cnt+=1
print(cnt)
반응형