Factorii invizibili

Time limit: 0.2s Memory limit: 64MB Input: factori.in Output: factori.out

Se dau două numere naturale nn și kk. Considerăm produsul tuturor numerelor naturale de la 11 la nn, notat n!n!.

Vom numi puterea lui kk în n!n! cel mai mare număr natural pp pentru care kpk^p divide n!n!.

Avem două tipuri de cerințe:

  1. Cerința de tip 1: Determinați cel mai mare număr pp cu proprietatea că kpn!k^p \mid n!.
  2. Cerința de tip 2: Determinați cel mai mic număr m1m \ge 1 pentru care knm!k^n \mid m!.

Date de intrare

Fișierul factori.in conține pe prima linie un număr natural tt care precizează cerința de rezolvat. Pe a doua linie se vor afla numerele nn și kk, cu semnificația de mai sus, separate prin spațiu.

Date de ieșire

Fișierul factori.out va conține un singur număr natural reprezentând valoarea pp, dacă t=1t = 1 respectiv valoarea mm, dacă t=2t = 2.

Restricții și precizări

  • 1t21 \le t \le 2
  • 1n1091 \le n \le 10^9
  • 2k1042 \le k \le 10^4
  • Se garantează că m1018m \le 10^{18}.

Exemplul 1

factori.in

1
28 26

factori.out

2

Explicație

26=21326 = 2 \cdot 13.
Factorialul 28!28! conține 2525 factori 22 și 22 factori 1313, deci:

p=min(25,2)=2.p = \min(25, 2) = 2.

Exemplul 2

factori.in

2
28 26

factori.out

338

Explicație

Căutăm cel mai mic mm pentru care knm!k^n \mid m!.
Prin calcul, rezultă m=338m = 338.

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