Newsgroup: it.hobby.enigmi
Titolo: cara mi si sono ristretti i minuti

Nel mondo delle cose ristrette anche il tempo scorre allo stesso modo percui 
ogni giorno ci sono solo 9 ore, ogni ora è formata da 30 minuti e ogni 
minuto è fatto di 30 secondi.
Come se questo non fosse gia abbastanza bizzarro ci troviamo ad avere in 
tasca uno strano orologio con alcuni ingranaggi rotti che producono un 
eccentrico funzionamento: esattamente ogni ora l'orologio scatta indietro un 
minuto e un secondo in più rispetto all'ora precedente; quindi dopo la prima 
ora di funzionamento l'orologio scatta indietro di un minuto e un secondo, 
dopo due ore scatta indietro di due minuti e due secondi e così via.
Carichiamo e facciamo partire l'orologio da 0:0:0.
Ci sono tre quesiti con difficoltà a-salire a cui è possibile rispondere (il 
primo è più semplice e l'ultimo è più complicato)
1) Allo scadere del primo giorno che ora segnerà l'orologio?
2) A che ora di quale giorno l'orologio avrà accumulato tanto ritardo da 
cominiciare ad andare indietro nel tempo invece che avanti rispetto al tempo 
reale?
3) Considerando solo le ore secondo la progressione aritmetica 
ORE:MIN:SEC=ORE:(ORE+1):(MIN+1) oppure  ORE:(ORE-1):(MIN-1) (esempio: 1:2:3, 
4:5:6,  9:8:7,  3:2:1,  etc..) quante volte si verificheranno queste 
occorrenze, nel nostro bizzarro orologio, in due giorni esatti?

 occorrenze, nel nostro bizzarro orologio, in due giorni esatti?
Scusa la pignoleria, ma in realtà 9:8:7 non può esserci vero?
Visto che le ore sono 9 sull'orologio andranno da 0 a 8...
Alessio

 occorrenze, nel nostro bizzarro orologio, in due giorni esatti?
Rispettivamente 18 e 14.


certo. :-)

 Rispettivamente 18 e 14.
poco uno troppo l'altro.
per controllare: le funzioni che avevo trovato e che rappresentano lo 
scorrere del tempo nell'eccentroco orologio sono
ore = mod(floor((x-31*floor(x/900))/900),9)
minuti = mod(floor((x-31*floor(x/900))/30),30)
secondi = mod(x-31*floor(x/900),30)
e quindi è necessario per le condizioni imposte che i valori assoluti di
(mod(floor((x-31*floor(x/900))/900),9)-mod(floor((x-31*floor(x/900))/30),30)) 
e di (mod(floor((x-31*floor(x/900))/30),30)-mod(x-31*floor(x/900),30)) 
siano uguali a 1.

 poco uno troppo l'altro.
Strano, l'ho controllato a forza bruta.
Con "ORE:MIN:SEC=ORE:(ORE+1):(MIN+1)" intendevi "ORE:ORE+1:ORE+2" e 
analogamente per il segno meno, giusto?

 analogamente per il segno meno, giusto?
esatto. L'ho controllato anch'io con un bruteforce e mi torna così
il primo numero è il tipo di progressione (123 all'avanti - 321 
all'indietro)
il secondo blocco di numeri sono giorno,ora,minuti e secondi dell'orologio 
eccentrico
il terzo blocco sono giorno,ora, minuti e secondi del tempo ristretto 
normale.
321 -  0_ 0  1  2    0_ 0  1  2
321 -  0_ 1  2  3    0_ 1  3  4
123 - 0_ 2: 1: 0    0_ 2: 4: 3
321 -  0_ 2  3  4    0_ 2  6  7
123 - 0_ 3: 2: 1    0_ 3: 8: 7
321 -  0_ 3  4  5    0_ 3  10  11
123 - 0_ 4: 3: 2    0_ 4: 13: 12
321 -  0_ 4  5  6    0_ 4  15  16
123 - 0_ 5: 4: 3    0_ 5: 19: 18
321 -  0_ 5  6  7    0_ 5  21  22
123 - 0_ 6: 5: 4    0_ 6: 26: 25
321 -  0_ 6  7  8    0_ 6  28  29
123 - 0_ 6: 5: 4    0_ 7: 4: 2
321 -  0_ 6  7  8    0_ 7  6  6
123 - 0_ 7: 6: 5    0_ 8: 13: 11
321 -  0_ 7  8  9    0_ 8  15  15
123 - 0_ 8: 7: 6    1_ 0: 23: 21
321 -  0_ 8  9  10    1_ 0  25  25
123 - 0_ 8: 7: 6    1_ 1: 4: 1
321 -  0_ 8  9  10    1_ 1  6  5
321 -  1_ 0  1  2    1_ 1  27  27
321 -  1_ 0  1  2    1_ 2  9  8
321 -  1_ 1  2  3    1_ 3  22  21
321 -  1_ 1  2  3    1_ 4  6  4
123 - 1_ 2: 1: 0    1_ 5: 19: 15
321 -  1_ 2  3  4    1_ 5  21  19
123 - 1_ 2: 1: 0    1_ 6: 5: 0
321 -  1_ 2  3  4    1_ 6  7  4
123 - 1_ 3: 2: 1    1_ 7: 22: 17
321 -  1_ 3  4  5    1_ 7  24  21
123 - 1_ 3: 2: 1    1_ 8: 10: 4
321 -  1_ 3  4  5    1_ 8  12  8
in pratica 19  e 13

 esatto. L'ho controllato anch'io con un bruteforce e mi torna cosě
Hai ragione, avevo sbagliato del tutto e controllavo le combinazioni per 
un orologio "regolare" e non per quello eccentrico.
Ora mi torna:
h:h+1:h+2 trovati    18  volte
h:h-1:h-2 trovati    14  volte

 h:h-1:h-2 trovati    14  volte
si però sempre per l'orologio normale, per quello eccentrico sono 19 13 :-)
Invece per il secondo quesito la soluzione è
.
.
.
.
.
Non leggere se la vuoi trovare da te! :-)
.
.
.
.
 ..è facile controllare tenendo presente che se il tempo lo chiamiamo x 
allora l'orologio scatta indietro ogni 900 secondi ristretti (1 ora 
ristretta) di 31 secondi ristretti (1 minuto ristretto + 1 secondo 
ristretto). Quindi scatta indietro di 31*floor(x/900) secondi ogni ora.
Dato che i ritardi si sommano tra loro bisogna integrare e nel nostro caso 
facciamo la sommatoria di x da 1 a n su n che vale n*(n+1)/2   dove a n 
bisogna ovviamente sostituire floor(x/900).
Il tempo ristretto ed ecentrico dell'orologio viene quindi una parabola che 
si descrive con
tempo = x - 32 * ( floor(x/900) * (floor(x/900) + 1))/2
semplificando ed eguagliando il tempo a zero per trovare quando la parabola 
diventa negativa si ha
x - 15.5*floor(x/900)^2 - 15.5*floor(x/900) = 0
e risolvendo si trova che il primo valore negativo si ha con x = 52200 
secondi ristretti  ovvero  6 giorni e 4 ore esatte. :-)
volendo esagerare:
Il momento,invece, in cui il ritardo diventa maggiore del tempo eccentrico 
tanto da condurre inveitabilemnte quest'ultimo verso il passato si colloca 
il sesto giorno allo scoccare della terza ora.
In quel momento il nostro orologio eccentrico segna "giorno:0 ore: 0:1:27" 
il tempo eccentrico è di 57 secondi ristretti e il ritardo accumulato è di 
ben 1798 secondi ristretti.
Nell'ora che segue fino al prossimo ritardo che ci porterà a capofitto 
indietro nel tempo è facile sentire Einstein bestemmiare (sempre in modo 
ristretto però). :-)