Sfide di coding aperte a tutti
Come funziona?
- Ad ogni incontro viene proposta una sfida di coding;
- È possibile partecipare singolarmente o a squadre;
- Servono una mail e un nickname;
- È possibile utilizzare qualsiasi linguaggio di programmazione;
- Viene stilata – e costantemente aggiornata – una classifica che si chiuderà con l’ultimo incontro del 2020;
- Punteggi:
- 1 punto per la soluzione corretta;
- 3 punti per il 2° e 3° posto;
- 5 punti per la soluzione migliore;
- La valutazione si basa su: {correttezza risultato, efficienza algoritmo, stile di programmazione, originalità soluzione, commenti}.
Challenge #09
Dato un numero, una sua sottostringa-10 (S10) è una sequenza delle sue cifre la cui somma è 10. Ad esempio, le S10 di 3523014 sono:
3523014
3523014
3523014
3523014
Un numero è sottostringa-10-affine (S10A) se ognuna delle sue cifre appartiene ad almeno una sua S10. Ad esempio, 3523014 è S10A, mentre 28546 non lo è.
Definiamo T(n) la quantità di numeri S10A compresi tra 1 e 10n (incluso). Si può dimostrare ad esempio che T(2) = 9 e T(5) = 3492.
Trova T(1018) mod 1 000 000 007.
Challenge #10
Considera la sequenza infinita di cifre 1234321234321234321…
Incredibilmente, questa sequenza può essere divisa in una sequenza di interi tale che, dato l’indice n, la somma delle cifre che compongono l’intero n è pari ad n.
Definiamo vn l’nesimo valore della sequenza.
Ad esempio, per 1, 2, 3, 4, 32, 123, 43, 2123, 432, 1234, 32123, …
v5=32, 3+2=5, v6=123, 1+2+3=6 etc..
Definiamo S(n) = v1 + v2 + … + vn.
Per esempio, S(11) = 36120 e S(1000) mod 123454321 = 18232686.
Calcola S(1014) mod 123454321.