-- 예전 기록/BOJ

[ BOJ ] 29196 : 소수가 아닌 수 2 ( BRONZE 1 ) / Python

rejo 2024. 2. 15. 17:28

이 대회의 운영진 중 한 명인 KSA 학생은 얼마 전 소수 공포증을 극복했으나 또 다른 소수를 구별할 수 없게 되어 버렸다. KSA의 명예를 지키기 위해 어떤 소수 를 입력받아 를 나타내는 분수 p/q를 아무거나 구해주자.

 10^9 이하인 양의 정수이며, p/q의 절대오차 또는 상대오차가 10^(−6) 이하면 정답이다.

입력

첫 번째 줄에 소수 가 주어진다.

출력

첫 번째 줄에 조건을 만족하는 분수가 존재한다면 YES, 아니라면 NO를 출력한다.

만약 그러한 분수가 존재한다면, 두 번째 줄에 두 정수 , 를 공백을 사이에 두고 출력한다.

정답이 여러 개 존재한다면 그중 아무거나 출력해도 상관없다.

풀이 과정

분모가 10의 거듭제곱인 꼴로 만든다.

import sys
input = sys.stdin.readline

k = input().rstrip()
a = k[k.index('.')+1:]
print('YES')
print(int(a), 10**(len(a)))