Ini adalah tantangan berukuran byte di mana Anda harus mengubah suhu input di salah satu dari tiga unit (Celcius, Kelvin, dan Fahrenheit) ke dua lainnya.
Memasukkan
Anda akan diberikan suhu sebagai angka diikuti oleh unit (dipisahkan oleh ruang). Suhu dapat berupa bilangan bulat atau angka titik apung (23 vs 23.0 atau 23.678).
Anda dapat mengirimkan fungsi atau program lengkap yang membaca string yang dipisahkan spasi dari argumen STDIN / ARGV / function atau yang setara terdekat dan mencetak output ke STDOUT atau setara terdekat.
Keluaran
Output Anda harus menjadi suhu yang dikonversi ke dua format lainnya, dipisahkan oleh baris baru dan diikuti oleh karakter unit yang sesuai pada setiap baris (secara opsional dipisahkan oleh spasi). Urutan kedua unit tidak masalah.
Keluaran presisi
- Angka yang dikonversi harus akurat ke setidaknya 4 tempat desimal tanpa pembulatan.
- Membuntuti nol atau tempat desimal adalah opsional selama 4 tempat desimal pertama (tanpa pembulatan) akurat. Anda juga dapat melewati 4 nol dan / atau titik desimal jika jawaban sebenarnya memiliki 4 nol setelah titik desimal.
- Seharusnya tidak ada nol terkemuka
- Format angka apa pun dapat diterima selama memenuhi tiga persyaratan di atas.
Representasi unit
Unit suhu hanya dapat menjadi salah satu dari yang berikut:
C
untuk CelciusK
untuk KelvinF
untuk Fahrenheit
Contohnya
Memasukkan:
23 C
Keluaran:
73.4 F
296.15 K
Memasukkan:
86.987 F
Keluaran:
303.6983 K
30.5483 C
Memasukkan:
56.99999999 K
Keluaran:
-216.1500 C
-357.0700 F
Ini adalah kode-golf sehingga entri terpendek dalam byte menang! Selamat Golf!
Papan peringkat
<script>site = 'meta.codegolf',postID = 5314,isAnswer = true,QUESTION_ID = 50740</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)<\\/code><\/pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
2/3
=> 0.666666666666
apakah akurat untuk digit ke-4? (Aku akan mengatakan YA). Atau haruskah demikian 0.6667
?
0.666666666666
benar. Saya menegakkan presisi berbasis pembulatan. begitu 0.6666
juga alternatifnya.
23C\n73.4F\n296.15K
? atau haruskah format input ditekan?