Fişierul intrare/ieşire:rude.in, rude.outSursăOlimpiada locala 2013, clasa a 5-a
AutorVictor ManzAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.1 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Rude (clasa a 5-a)

Algorel a descoperit de curând o regulă pe baza căreia îşi poate identifica rudele, oricât de îndepărtate ar fi acestea. În eterna şi fascinanta sa ţară, fiecare persoană are asociat un cod numeric personal (CNP). Rudele lui Algorel au acest cod format din aceleaşi cifre ca şi al lui, aflate în aceeaşi ordine, cu o singură excepţie: prima cifră poate fi plasată pe oricare altă poziţie. De exemplu, dacă Algorel are codul 123, atunci rudele sale au codurile 213 şi 231. Cum funcţionarii din ţara lui Algorel nu sunt foarte inteligenţi, nu şi-au dat seama că pot exista şi persoane înrudite cu Algorel care să aibă CNP-uri identice. De exemplu, dacă Algorel are codul 1213, atunci rudele sale vor avea codurile 2113 (obţinut prin inserarea primului 1 între 2 şi cel de-al doilea 1), 2113 (obţinut prin inserarea primului 1 între al doilea 1 şi 3) şi 2131, existând două persoane cu acelaşi CNP (2113). Fiind foarte curios din fire, Algorel ar vrea să afle mai multe informaţii despre rudele sale şi de aceea vă solicită ajutorul.

Cerinţă.

Dându-se codul numeric personal al lui Algorel, n, se cere determinarea numărului total de rude ale sale, a numărului de coduri distincte ale rudelor sale şi cel mai mare dintre numerele corespunzătoare acestor coduri.

Date de intrare

Fişierul de intrare rude.in conţine numărul natural n.

Date de ieşire

Fişierul rude.out va conţine pe fiecare dintre primele sale trei linii câte un număr corespunzător fiecărei cerinţe. Pe prima linie se va afla numărul total de rude, pe cea de-a doua numărul de coduri distincte ale rudelor, iar pe ultima codul cu cea mai mare valoare numerică, corespunzător unei rude a lui Algorel.

Restricţii

  • 10 ≤ n < 1 000 000 000 (un miliard);
  • se acordă 40% din punctaj pentru afişarea primului număr cerut;
  • se acordă 70% din punctaj pentru afişarea primelor două valori cerute;
  • se acordă întregul punctaj pentru afişarea tuturor celor trei valori cerute;

Exemplu

rude.inrude.outExplicaţie
10
1
1
1
Dacă CNP-ul lui Algorel este 10, atunci el are o singură rudă, cu codul 01,
având valoarea numerică corespunzătoare 1.
1251
3
2
2511
Dacă CNP-ul lui Algorel este 1251, atunci codurile rudelor sale sunt 2151,
2511 (obţinut prin inserarea lui 1 de la început pe penultima poziţie) şi 2511
(obţinut prin inserarea lui 1 de la început pe ultima poziţie). Prin urmare
avem 3 rude, cu 2 coduri distincte (2151 şi 2511), iar cel mai mare număr
corespunzător acestora este 2511.
Trebuie sa te autentifici pentru a trimite solutii. Click aici