Storia
Molto tempo fa Bobby ha creato un portafoglio Bitcoin con 1 Satoshi (1e-8 BTC, la più piccola unità di valuta) e se ne è dimenticato. Come molti altri in seguito ha pensato "Accidenti, se solo avessi investito di più allora ...".
Non fermandosi a sognare ad occhi aperti, dedica tutto il suo tempo e denaro alla costruzione di una macchina del tempo. Trascorre la maggior parte del tempo nel suo garage, inconsapevole delle vicende mondane e delle voci che circolano su di lui. Completa il prototipo il giorno prima che l'elettricità stia per spegnersi a causa di mancati pagamenti. Alzando gli occhi dal suo banco di lavoro vede un furgone della polizia accostarsi a casa sua, sembra che i vicini ficcanaso pensino che stia gestendo un laboratorio di meth nel suo garage e abbia chiamato la polizia.
Senza tempo per eseguire i test, afferra una chiavetta USB con i dati sui tassi di cambio degli anni passati, collega il condensatore di flusso al discombobulatore quantico e si ritrova trasportato indietro nel giorno in cui ha creato il suo portafoglio
Attività
Dati i dati del tasso di cambio, scopri quanti soldi Bobby può fare. Segue una regola molto semplice: "Compra basso - vendi alto" e siccome inizia con un capitale infinitamente piccolo, supponiamo che le sue azioni non avranno alcun impatto sui tassi di cambio del futuro.
Input
Un elenco di float> 0, sia come stringa separata da un singolo carattere (newline, tab, spazio, punto e virgola, qualunque cosa tu preferisca) passato come argomento della riga di comando al programma, letto da un file di testo o STDIN o passato come parametro a una funzione. È possibile utilizzare tipi di dati numerici o matrici invece di una stringa perché in pratica è solo una stringa con parentesi.
Output
Il fattore per cui il capitale di Bobbys si è moltiplicato per la fine della negoziazione.
Esempio
Input: 0.48 0.4 0.24 0.39 0.74 1.31 1.71 2.1 2.24 2.07 2.41
Tasso di cambio: 0,48 $ / BTC, poiché sta per cadere vendiamo tutti i Bitcoin per 4,8 nanodollari. Fattore = 1 Tasso di cambio: 0,4, non fare nulla
Tasso di cambio: 0,24 $ / BTC e in aumento: converti tutti i $ in 2 Satoshi. Fattore = 1 (il valore del dollaro è ancora invariato)
Tasso di cambio: 0,39 - 2,1 $ / BTC: non fare nulla
Tasso di cambio: 2,24 $ / BTC: vendere tutto prima del calo. 44,8 nanodollari, fattore = 9,33
Tasso di cambio: 2,07 $ / BTC: acquisto 2,164 Satoshi, fattore = 9,33
Tasso di cambio: 2,41 $ / BTC: acquisto 52,15 nanodollari, fattore = 10,86
Output: 10.86
Dettagli aggiuntivi
È possibile ignorare strani casi limite come input costanti, valori zero o negativi, un solo numero di input, ecc.
Sentiti libero di generare i tuoi numeri casuali per testare o utilizzare grafici azionari reali. Ecco un input più lungo per il test (output previsto circa 321903884.638) Spiega
brevemente cosa fa il tuo codice I
grafici sono apprezzati ma non necessari