Questa è una sfida di dimensioni in byte in cui devi convertire una temperatura di ingresso in una delle tre unità (Celsius, Kelvin e Fahrenheit) nelle altre due.
Ingresso
Ti verrà fornita una temperatura come numero seguito da un'unità (separata dallo spazio). La temperatura può essere un numero intero o un numero in virgola mobile (23 vs 23.0 o 23.678).
È possibile inviare una funzione o un programma completo che legge la stringa separata dallo spazio dall'argomento STDIN / ARGV / function o dall'equivalente più vicino e stampa l'output su STDOUT o sull'equivalente più vicino.
Produzione
L'output dovrebbe essere la temperatura convertita negli altri due formati, separati da una nuova riga e seguiti dal carattere di unità corrispondente su ciascuna riga (facoltativamente separato da uno spazio). L'ordine delle due unità non ha importanza.
Precisione di uscita
- Il numero convertito deve essere accurato con almeno 4 cifre decimali senza arrotondamento.
- Gli zero finali o i decimali sono opzionali purché i primi 4 decimali (senza arrotondamento) siano precisi. Puoi anche saltare i 4 zeri e / o il punto decimale nel caso in cui la risposta effettiva abbia 4 zeri dopo il punto decimale.
- Non dovrebbero esserci zero iniziali
- Qualsiasi formato numerico è accettabile purché soddisfi i tre requisiti di cui sopra.
Rappresentazione dell'unità
L'unità di temperatura può essere solo una delle seguenti:
C
per CelsiusK
per KelvinF
per Fahrenheit
Esempi
Ingresso:
23 C
Produzione:
73.4 F
296.15 K
Ingresso:
86.987 F
Produzione:
303.6983 K
30.5483 C
Ingresso:
56.99999999 K
Produzione:
-216.1500 C
-357.0700 F
Questo è code-golf, quindi vince l'ingresso più breve in byte! Buon golf!
Classifica
<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
è preciso alla 4a cifra? (Direi SÌ). O dovrebbe essere 0.6667
?
0.666666666666
è corretto. Sto imponendo una precisione basata sull'arrotondamento. così 0.6666
è l'alternativa.
23C\n73.4F\n296.15K
? o deve essere soppresso il formato di input?