Nfrac

Time limit: 0.1s Memory limit: 64MB Input: nfrac.in Output: nfrac.out

Fie aa și bb două numere naturale 0<ab0 \lt a \leq b.

Cerință

Să se determine numărul de fracții diferite xy\frac{x}{y} ce se pot forma utilizând numere naturale nenule, având proprietățile:

  • abxyba\frac{a}{b} \leq \frac{x}{y} \leq \frac{b}{a}
  • 2x+ya+b2 \leq x+y \leq a+b

De exemplu, pentru a=2a = 2 și b=4b = 4, există 99 fracții diferite cu proprietățile: 24xy42\frac{2}{4} \leq \frac{x}{y} \leq \frac{4}{2} și 2x+y62 \leq x+y \leq 6. Acestea sunt {24,11,22,33,21,12,23,32,42}\{ \frac{2}{4}, \frac{1}{1}, \frac{2}{2}, \frac{3}{3}, \frac{2}{1}, \frac{1}{2}, \frac{2}{3}, \frac{3}{2}, \frac{4}{2} \}.

Date de intrare

Fișierul de intrare nfrac.in conține pe prima linie un număr natural TT, iar pe fiecare din următoarele TT linii câte o pereche de numere aa și bb cu semnificația de mai sus.

Date de ieșire

Fișierul de ieșire nfrac.out va conține TT linii. Pe linia ii, 1iT1 \leq i \leq T, se va afișa numărul de fracții cerut, corespunzător perechii aflate pe linia i+1i+1 din fișierul de intrare.

Restricții și precizări

  • 0<ab1.000.0000 \lt a \leq b \leq 1.000.000
  • 1T1001 \leq T \leq 100
  • Două fracții x1y1\frac{x_1}{y_1} și x2y2\frac{x_2}{y_2} se consideră distincte dacă și numai dacă x1x2x_1 \neq x_2 sau y1y2y_1 \neq y_2

Exemplu

nfrac.in

3
2 4
128 256
12345 56789

nfrac.out

9
24768
1536317971

Explicație

În fișierul de intrare se găsesc T=3T = 3 perechi de numere.

Există 99 fracții cu proprietățile:

  • 24xy42\frac{2}{4} \leq \frac{x}{y} \leq \frac{4}{2}
  • 2x+y62 \leq x+y \leq 6

Există 2476824768 de fracții cu proprietățile:

  • 128256xy256128\frac{128}{256} \leq \frac{x}{y} \leq \frac{256}{128}
  • 2x+y3842 \leq x+y \leq 384

Există 15363179711536317971 de fracții cu proprietățile:

  • 1234556789xy5678912345\frac{12345}{56789} \leq \frac{x}{y} \leq \frac{56789}{12345}
  • 2x+y691342 \leq x+y \leq 69134

Log in or sign up to be able to send submissions!