Fișierul intrare/ieșire divizori.in, divizori.out Sursă ONI 2013 clasa a 6-a
Autor Sorin Bardac Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 1.6 sec Limită de memorie 3072 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Divizori (clasa a 6-a)

Mihai a primit în dar un calculator care poate determina numărul de divizori ai unui număr natural. Singura problemă este că afișajul calculatorului îi permite să lucreze numai cu numere formate din cel mult K cifre. Pentru că la școală se lucrează cu numere naturale mari, adică numere care au foarte multe cifre, Mihai s-a hotărât ca pentru un număr mare să procedeze astfel: află numărul de divizori al numărului format doar din primele K cifre ale numărului dat. Numărul afișat ca rezultat îl completează alipind la dreapta sa următoarele cifre din numărul inițial, până ajunge iar la un număr format din K cifre. Acestui nou număr, îi află numărul de divizori și repetă procedeul până la epuizarea cifrelor numărului inițial.

Chiar dacă la un moment dat nu mai are cifre pentru a completa numărul afișat ca rezultat, Mihai folosește în continuare calculatorul și determină numărul divizorilor acestuia, continuând până ajunge la un număr care este egal cu numărul divizorilor săi.

Cerință.

Având dat un număr natural cu N cifre și un calculator care poate prelucra numere cu cel mult K cifre, Mihai vă roagă să-l ajutați acum să afle răspunsuri la următoarele întrebări:

a) pentru câte numere de cel mult K cifre va folosi calculatorul pentru a determina numărul de divizori, urmând exact procedeul descris mai sus?
b) care este valoarea ce reprezintă numărul maxim de divizori obținută în urma calculelor efectuate de Mihai?
c) care este numărul cu cei mai mulți divizori din șirul numerelor prelucrate de Mihai? Dacă sunt mai multe numere cu același număr maxim de divizori, se va alege cel mai mic dintre ele.

Date de intrare

Prima linie a fișierul de intrare divizori.in conține două numere naturale N și K separate printr-un singur spațiu, reprezentând numărul de cifre al numărului natural inițial, și respectiv numărul de cifre al afișajului calculatorului. Linia a doua a fișierului divizori.in conține numărul natural cu N cifre pe care îl va prelucra Mihai urmând exact procedeul descris mai sus.

Date de ieșire

Fișierul de ieșire divizori.out va conține trei linii:

  • pe prima linie se va scrie un singur număr natural reprezentând numărul de aplicări succesive ale procedeului de aflare a numărului de divizori descris mai sus;
  • pe a doua linie sa va scrie un singur număr natural reprezentând numărul maxim de divizori;
  • pe a treia linie se va scrie un singur număr natural reprezentând cel mai mic număr ce are proprietatea că numărul său de divizori este egal cu numărul maxim de divizori determinat anterior.

Restricții

  • 2 ≤ K ≤ 9
  • 2 ≤ N < 1000000
  • Pentru 40% din teste, N ≤ 50 000 și K ≤ 6
  • Dacă numărul afișat pe prima linie a fișierului de ieșire este corect se acordă 40% din punctajul testului. Dacă numărul afișat pe a doua linie a fișierului de ieșire este corect se acordă 40% din punctajul testului. Pentru afișarea corectă a valorii de pe linia a treia a fișierului de ieșire se acordă 20% din punctajul testului.

Exemplu

divizori.in divizori.out Explicație
43 5
5874392065432987667890567800123450889987543
16
48
12012
Cele 16 numere prelucrate sunt: 58743, 12920, 32654, 83298,
87667, 48905, 46780, 12012, 48345, 16088, 89987, 6543, 6, 4, 3, 2.
Dintre acestea, cei mai mulți divizori (48) îi are numărul 12012

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii