Andrew adalah seorang ahli kimia, tertarik pada keasaman solusi dan pertanian. Setelah berbulan-bulan penelitian (Google bukan temannya), ia datang dengan tabel berikut * mengenai tingkat keasaman yang dapat dibaca manusia dalam hal pH (potensi Hidrogen) :
Denominasi | kisaran pH | ------------------------- + ------------------------ ----- Sangat asam | di bawah 3.5 ------------------------- + ------------------------ ------ Sangat asam | antara 3.5 dan 4.4 ------------------------- + ------------------------ ------ Sangat asam | antara 4.5 dan 5.0 ------------------------- + ------------------------ ------ Sangat asam | antara 5.1 dan 5.5 ------------------------- + ------------------------ ------ Cukup asam | antara 5.6 dan 6.0 ------------------------- + ------------------------ ------ Sedikit asam | antara 6.1 dan 6.5 ------------------------- + ------------------------ ------ Netral | antara 6.6 dan 7.3 ------------------------- + ------------------------ ------ Sedikit basa | antara 7.4 dan 7.8 ------------------------- + ------------------------ ------ Basa sedang | antara 7,9 dan 8,4 ------------------------- + ------------------------ ------ Sangat basa | antara 8.5 dan 9.0 ------------------------- + ------------------------ ------ Sangat basa | lebih dari 9.0
Diberikan bilangan desimal non-negatif yang mewakili pH suatu zat, mengeluarkan Denominasinya. Anda dapat mengambil input dan memberikan output dengan metode standar apa pun . Jenis data yang diizinkan untuk Anda input adalah:
- Mengapung
- Dua kali lipat
- Tipe data angka desimal standar bahasa Anda
- Tali
Dan Anda harus menampilkan String yang mewakili denominasi. Built-in yang terkait dengan kimia dilarang (Maaf, Mathematica!) .
Aturan Aproksimasi: Jika pH yang Anda terima berada di antara batas atas suatu denominasi dan batas bawah dari yang berikutnya (misalnya antara 7,8 dan 7,9), ia akan didekati dengan nilai terdekat antara keduanya: jika pH ≥ batas atas dari pertama + 0,5, maka ia harus menerima denominasi kedua, tetapi jika pH <atas batas pertama + 0,5, maka ia harus menerima yang pertama (misalnya 7,85 diperkirakan 7,9, tetapi 7,84999 diperkirakan 7,8). Lihat kasus uji untuk klarifikasi.
Kasus uji:
Input -> Output 6,40 -> Sedikit asam 8.399 -> Basa sedang 3,876 -> Sangat asam 10.60 -> Sangat basa 0,012 -> Sangat asam 7.30 -> Netral 7.85 -> Basa sedang (aturan aproksimasi diterapkan) 7,849 -> Basa sedikit (aturan aproksimasi diterapkan) 6.55 -> Netral (aturan aproksimasi diterapkan)
Ini adalah kode-golf , sehingga pengiriman terpendek yang valid (dalam byte) menang!
* Andrew tidak menemukan itu, itu Wikipedia !