Cattura porzioni di un numero utilizzando operazioni matematiche [chiuso]

0

Esiste un modo matematico per ottenere quanto segue:

Per il numero 777,888,999 quindi 777 milioni e così via

getMillions (777888999) dovrebbe restituire solo 777

getThousands (777888999) dovrebbe restituire solo 888

getHundreds (777888999) dovrebbe restituire solo 999

Questo dovrebbe essere fatto senza usare espressioni regolari e senza elaborazione del testo ma dovrebbe essere ottenuto usando solo operazioni matematiche .

Sto cercando di risolvere un problema che potrebbe essere familiare ad alcuni che convertono un numero espresso in cifre in parole, quindi 1 - > uno, 10 - > dieci, 100 - > cento ecc.

Il mio pensiero è che se riesco a convertire un numero fino a 999, allora il problema è praticamente risolto, mentre il resto aggiungerà solo le parole milioni e / o migliaia così

777888999 coprirà le parole:

777 milioni e 888 migliaia e 999 cento

ovviamente i numeri precedenti saranno espressi in parole.

Questo originariamente mi è stato dato come parte di un processo di colloquio di lavoro circa un anno fa. Non sto assolutamente utilizzando la soluzione qui per un'applicazione di lavoro. Ma la domanda di cui sopra riguarda la manipolazione numerica a cui sono molto interessato.

    
posta jakstack 07.03.2014 - 21:57
fonte

1 risposta

3

Potresti fare qualcosa di simile:

print (777888999/1000000)%1000
print (777888999/1000)%1000
print (777888999)%1000

Quindi, dividi per la 1a unità della posizione che stai cercando, quindi modila per 1000 dato che tutte queste posizioni possono avere tre posizioni.

    
risposta data 07.03.2014 - 22:19
fonte

Leggi altre domande sui tag