토마에 함수

시간 제한1초메모리 제한1024 MB

요약
분수 P/Q가 주어질 때 f(x) >= P/Q를 만족하는 [0,1] 위의 실수 x의 개수를 구한다.
난이도

보통10점 중 7점

유형
정수론, 수학, 조합론
정답자
아직 제출이 없습니다

문제

미적분학 I 수업을 준비하기 위해 열심히 공부하던 세종이는 교재에서 새로운 함수를 하나 발견하였다. 00 이상 11 이하의 실수 xx에 대해 토마에 함수 f(x)f(x)는 xx의 값에 따라 아래와 같은 대응 관계를 가진다.

  • xx가 무리수면 f(x)=0f(x) =0.
  • x=0x=0 이면 f(x)=1f(x) =1.
  • 이외의 경우 xx를 기약분수 pq (p,q{p\over q}\ (p,q는 양의 정수, q≠0)q\neq 0) 꼴로 나타낼 수 있을 때 f(x)=1qf(x) ={1\over q}.

임의의 유리수 PQP\over Q가 주어졌을 때, f(x)≥PQf(x)\ge{P\over Q}를 만족시키는 00 이상 11 이하의 실수 xx의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 양의 정수 PP, QQ가 공백으로 구분되어 주어진다. (1≤P≤Q≤100,000)(1\le P\le Q\le 100\\, 000)

출력

첫째 줄에 f(x)≥PQf(x)\ge{P\over Q}를 만족시키는 00 이상 11 이하의 실수 xx의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    3 11
    
    예상 출력
    5