Andrew è un chimico, interessato all'acidità delle soluzioni e all'agricoltura. Dopo mesi di ricerche (Google non è suo amico), ha elaborato la seguente tabella * relativa al livello di acidità leggibile dall'uomo in termini di pH (potenziale di idrogeno) :
Denominazione | intervallo di pH | ------------------------- + ------------------------ ----- Ultra acido | inferiore a 3.5 ------------------------- + ------------------------ ------ Estremamente acido | tra 3.5 e 4.4 ------------------------- + ------------------------ ------ Molto fortemente acido | tra 4.5 e 5.0 ------------------------- + ------------------------ ------ Fortemente acido | tra 5.1 e 5.5 ------------------------- + ------------------------ ------ Moderatamente acido | tra 5.6 e 6.0 ------------------------- + ------------------------ ------ Leggermente acido | tra 6.1 e 6.5 ------------------------- + ------------------------ ------ Neutro | tra 6.6 e 7.3 ------------------------- + ------------------------ ------ Leggermente alcalino | tra 7.4 e 7.8 ------------------------- + ------------------------ ------ Moderatamente alcalino | tra 7.9 e 8.4 ------------------------- + ------------------------ ------ Fortemente alcalino | tra 8.5 e 9.0 ------------------------- + ------------------------ ------ Molto fortemente alcalino | oltre 9.0
Dato un numero decimale non negativo che rappresenta il pH di una sostanza, produce la sua denominazione. Puoi prendere input e fornire output con qualsiasi metodo standard . I tipi di dati con cui è consentito inserire input sono:
- Galleggiante
- Doppio
- Il tipo di dati del numero decimale standard della tua lingua
- Corda
E devi produrre una stringa che rappresenti la denominazione. Sono vietati gli incorporamenti relativi alla chimica (Siamo spiacenti, Mathematica!) .
Regola di approssimazione: se il pH che ricevi è compreso tra un limite superiore di una denominazione e il limite inferiore di quello successivo (ad esempio tra 7,8 e 7,9), viene approssimato al valore più vicino tra i due: se il pH ≥ upperBound del prima + 0,5, quindi dovrebbe ricevere la seconda denominazione, ma se il pH <upperBound del primo + 0,5, allora dovrebbe ricevere la prima (ad es. 7,85 è approssimato a 7,9, ma 7,84999 è approssimato a 7,8). Vedere i casi di test per chiarimenti.
Casi test:
Ingresso -> Uscita 6.40 -> Leggermente acido 8.399 -> Moderatamente alcalino 3.876 -> Estremamente acido 10.60 -> Molto fortemente alcalino 0,012 -> Ultra acido 7.30 -> Neutro 7.85 -> Moderatamente alcalino (viene applicata la regola di approssimazione) 7.849 -> Leggermente alcalino (viene applicata la regola di approssimazione) 6.55 -> Neutro (viene applicata la regola di approssimazione)
Questo è code-golf , quindi vince l'invio valido più breve (in byte)!
* Andrew non è venuto fuori con quello, era Wikipedia !