|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
[Vari] Contest 16: Intervalli
Uno facile e non troppo verboso, giusto per pensare e per vedere l'approccio.
Sia dato un lungo elenco di intervalli della retta reale. Codice:
-4.5 +3.2 +2.8 +7.15 -7.3 -9.15 Si noti come ci possano essere delle SOVRAPPOSIZIONI. In questo esempio il primo e il secondo intervallo sono parzialmente sovrapposti. Si vuole calcolare la lunghezza totale del dominio coperto, contando le sovrapposizioni una e una sola volta. Si trascurino gli arrotondamenti dovuti a precisione macchina, e dove possibile si lavori con la struttura piu' precisa possibile, tenendo conto che l'input sara' contenibile senza errori in un IEEE754 da 64bit (in C il double) In questo esempio il risultato dovrebbe essere 13.5 Primo File, giusto per tastare il terreno. http://www.usaupload.net/d/ze7gn00x87b
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 26-06-2009 alle 14:28. |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
E 'ndirindinghete!!!
C'è già un contest 15(Sudoku): Contest 1 Contest 2 Contest 3 Contest 4 Contest 5 Contest 6 Contest 7 Proposta Contest 8 Contest 9 Contest 10 Contest 11 Contest 12 Contest 13 Contest 14 Contest 15 ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Fatto fatto
![]() ![]() Avevo copiaincollato e non avevo modificato.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Senti maaaaaaaaaaaaa
un piccolo chiarimento per chi, come me, ne sa poco e niente di matematica? Che significa lunghezza totale del dominio coperto? Come viene fuori quel 13.5? Grazie ![]() ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Dunque.
Sei prendi un intervallo tipo 3.2 --> 7.5 questo e' un intervallo della retta reale, che parte dal punto 3.2 e arriva fino a 7.5 La lunghezza di tale intervallo e' 4.3 Un po' come dire: Ho dipinto di bianco la strada a partire dal Kilometro 3.2 fino al Kilometro 7.5 La domanda sarebbe quindi: Quanti Kilometri di strada ho coperto di bianco? 4.3Km finora, appunto. Aggiungiamo un altro intervallo, quello 10.4 --> 12.7 e la cui lunghezza e' 2.3 E poi un altro ancora, da 11.9 --> 12.9, la cui lunghezza e' 1.0 Potrebbe venire da dire che la lunghezza totale coperta sia da 4.3 + 2.3 + 1.0 = 7.6 E invece no. Questo ultimo intervallo e' parzialmente sovrapposto all'intervallo precedente. Per un pezzo di strada ho semplicemente ripittato un pochino, ma era gia' bianca, non conta 2 volte. Riusciamo a coprire quindi tutto il primo 3.2 --> 7.5 poi il secondo 10.4 --> 12.7 e poi del terzo aggiungiamo solo una piccola fettina 12.7 --> 12.9, perche' la prima parte del terzo era gia' coperta precedentemente. Abbiamo quindi un totale di 4.3 + 2.3 + 0.2 = 6.8 E' OK? Nell'esempio abbiamo anche coordinate di partenza negative. Un po' come mettere casa mia al centro di una lunghissima strada diritta, e dire che se vado a sinistra ho coordinate negative e a destra coordinate positive. Per l'esempio dato abbiamo: -4.5 --> +3.2 Lunghezza = 7.7 Ovvero sono partito a dipingere 4.5KM a sinistra di casa mia, e ho finito 3.2KM a destra di casa mia. Poi +2.8 --> +7.15 E gia' qui sovrappoiniamo, quindi vale solo come se fosse da +3.2 --> 7.15 = 3.95 E infine -7.3 --> -9.15, ovvero parto da 7.3KM a sinistra e proseguo fino a 9.15 KM a sinistra, senza sovrapporre niente quindi. La lunghezza conta tutta, ovvero 1.85KM Totale 7.7 + 3.95 + 1.85 = 13.5
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 26-06-2009 alle 15:32. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Così:
[-4.5 +3.2] [+2.8 +7.15] rappresentano due intervalli che si sovvrapongono parzialmente quindi prendiamo l'intervallo ricavato dalla loro "unione": [-4.5 +7.15] L'altro intervallo specificato: [-7.3 -9.15] non si sovrappone a nessun altro intervallo, quindi lo consideriamo di per se. Ora la lunghezza totale del dominio sarà data dalla somma delle singole lunghezze degli intervalli, a loro volta date dal valore assoluto del risultato della sottrazione del valore minore dal valore maggiore: [-4.5 +7.15] -> +7.15 - -4.5 -> 11.65 -> abs -> 11.65 e [-7.3 -9.15] -> -9.15 - -7.3 -> -1.85 -> abs -> 1.85 Lunghezza dominio coperto dagli intervalli: 11.65 + 1.85 = 13.5 Giusto Gugo?
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 26-06-2009 alle 15:37. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Si, esatto.
Figuratevelo come le istruzioni per pittare di bianco la strada, e la domanda appunto su quanta strada totale avete alla fine pittato di bianco.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Grazie mille a entrambi per le spiegazioni. Ora è tutto chiaro
![]() Un'ultima domanda: i tempi di caricamento dal file non vanno conteggiati, giusto? |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Certo che se mentre si legge si fa anche altro allora occorre contare, ma se si legge solo il file per poi parsarlo allora va bene tenere i tempi della lettura fuori.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Per la serie "nutro una grande fiducia in quel che ho scritto", a chi viene
1235792.2454819013 con il file di prova?
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Però potresti scriverti uno unit test ( ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Ma potrei avere sbagliato, ho fatto di corsa. Magari ho semplicemente sbagliato file, dato che da rospo non ho tenuto il seed del generatore... non potro' mai piu' riprodurlo. Riscarico e controllo.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
minchia siamo messi bene
![]() a me viene 299085,567040739 ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Io ho quest'altro risultato:
![]() Qual è quello giusto? ![]() |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
miii passerà alla storia come il contest con il maggior numero di risultati diversi
![]()
__________________
![]() |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
quello l'avevo provato pure io ovviamente
![]() cmq ho corretto un potenziale piccolo bug, ma il risultato mi esce sempre quello... ![]() o mi sfugge ancora qualcosa o c'è qualcos'altro che mi sfugge ![]() EDIT: Minchia.. come al solito è sintetico il tuo codice ![]()
__________________
![]() Ultima modifica di ^TiGeRShArK^ : 26-06-2009 alle 19:21. |
![]() |
![]() |
![]() |
#18 | ||
Bannato
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
|
Quote:
![]() Se Gugo non dà la soluzione entro oggi, sambenito per un anno intero ![]() Quote:
![]() |
||
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Purtroppo ho il codice in ufficio, e ci tornero' solo lunedi' mattina.
Aspettiamo qualcun altro... se troviamo un altro che da un risultato uguale a qualcuno di noi allora e' piu' probabile che sia quello giusto ![]() ![]() Peraltro, giusto per pensare, cosa vi viene fuori da questo, valido? Codice:
5 10 16 22 18 9
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
17....
__________________
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:36.