RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00636

서로소 격자점 세기

Diamond IV 다이아몬드 IV
난이도
4s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

두 닫힌 구간 \([a, b]\)\([c, d]\)가 주어진다. \(a \le i \le b\)이고 \(c \le j \le d\)이며 \(\gcd(i, j) = 1\)을 만족하는 정수 순서쌍 \((i, j)\)의 개수를 구하여라.

여러 개의 질의가 주어지며, 각 질의마다 위 개수를 답해야 한다. 범위가 매우 크므로 모든 쌍을 직접 확인하는 풀이는 통과할 수 없다.

제약

\(1 \le Q \le 50{,}000\)

\(1 \le a \le b \le 10^6\)

\(1 \le c \le d \le 10^6\)

입력 형식

첫 줄에 질의의 수 \(Q\)가 주어진다.

다음 \(Q\)개의 줄에 각각 네 정수 \(a\), \(b\), \(c\), \(d\)가 주어진다.

출력 형식

각 질의에 대해 조건을 만족하는 순서쌍의 개수를 한 줄에 하나씩 출력한다.

예제 1
입력
2
1 3 1 3
2 4 6 9
출력
7
6
설명

첫 질의: \(i,j \in [1,3]\)인 9쌍 중 gcd가 1인 것은 (1,1),(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)로 7쌍이다 (단 (2,2),(3,3)은 제외). 둘째 질의: \(i \in [2,4]\), \(j \in [6,9]\) 중 서로소인 쌍은 6쌍이다.

예제 2
입력
2
1 1 1 1
10 10 5 5
출력
1
0
설명

\((1,1)\)은 gcd가 1이므로 1. \((10,5)\)는 gcd가 5이므로 0.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

서로소 격자점 세기

개요
출제자 난이도 Diamond IV 다이아몬드 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

서로소 격자점 세기

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8