Abakus 2
Povjerenstvo za srednjoškolska natjecanja iz programiranja je prije skoro cijelog desetljeća konstatirala: "Stari Babilonci koristili su jednu varijantu naprave Abak za komplicirane matematičke izračune...". Vi ste sada pronašli taj Abak (logično, pronašli ste ga na 3000 metara nadmorske visine u gnijezdu povjerenstva, gdje se čuvaju stara natjecanja).
Ono što je malo poznato, jeste da Abak nudi i zadaću. Kao nagradu za rješavanje zadaće, Abak će Vas vratiti u davnu 2016. godinu (što je jako dobro, jer znate rješenja svih zadaća s prošlih natjecanja).
Abak može za zadati prirodni broj izračunati umnožak (proizvod) njegovih znamenki (primjerice, za broj 123, Abak bi vratio vrijednost 6=1\cdot 2\cdot 3. Slično, za vrijednost 1024, Abak bi vratio vrijednost 0=1\cdot 0\cdot 2\cdot 4). Vaša zadaća je za zadati broj n izračunati koliko različitih vrijednosti bi Abak vratio ako bi mu se unijeli brojevi 1,2,\ldots,n.
Kako biste bili sasvim sigurni u Vaše rješenje, morate odgovoriti na T upita, gdje u svakome upitu dobijete broj n i za svaki upit rješavate opisanu zadaću. Ako pogriješite, Abak Vas vraća u 2006. godinu umjesto 2016. godinu, a te zadaće već niste uvježbali...
Opis ulaza
U prvoj liniji standardnog ulaza dan je prirodni broj T, broj upita.
U narednih T linija standardnog ulaza, nalazi se po jedan prirodni broj - n.
Opis izlaza
Za svaki od T upita treba ispisati jednu liniju standardnog izlaza koja sadrži jedan cijeli broj - broj različitih vrijednosti koje će Abak ispisati za unesene brojeve 1,2,\ldots,n.
Primjer 1
Ulaz
3
1
10
13
Izlaz
1
10
10
Objašnjenje
- U prvome upitu, Abaku dajemo samo broj 1, njegov umnožak znamenki jednak je 1 i to je jedina vrijednost koju će Abak vratiti. Ispis je onda 1.
- U drugome upitu, Abaku dajemo brojeve 1,2,3,4,5,6,7,8,9,10 i umnožak znamenki ovih brojeva su redom 1,2,3,4,5,6,7,8,9,0 - i tu imamo 10 različitih vrijednosti, pa i ispisujemo 10.
- U trećemu upitu, Abaku dajemo brojeve 1,2,3,4,5,6,7,8,9,10,11,12,13 i umnožak znamenki ovih brojeva su redom 1,2,3,4,5,6,7,8,9,0,1,2,3 - i tu imamo ponovo 10 različitih vrijednosti, pa i ispisujemo 10. (Primijetimo da su posljednja tri vraćena broja duplikati, pa ispis nije 13).
Primjer 2
Ulaz
1
111
Izlaz
37
Ograničenja
- 1 \leq T \leq 200.000
- 1 \leq n \leq 10^{18}
Test primjeri podijeljeni su u 8 disjunktnih skupina:
- U testovima vrijednim 5 bodova: važi n \leq 10
- U testovima vrijednim 5 bodova: važi n \leq 100.
- U testovima vrijednim 10 bodova: važi n \leq 10.000.
- U testovima vrijednim 10 bodova: važi n \leq 1.000.000.
- U testovima vrijednim 10 bodova: važi n \leq 10^9.
- U testovima vrijednimм 10 bodova: važi n \leq 10^{12}.
- U testovima vrijednim 10 bodova: važi T = 1.
- U testovima vrijednim 10 bodova: važi T \leq 1.000.
- U testovima vrijednim 30 bodova: bez dodatnih ograničenja.
Submit solution
Sign in to submit a solution.