Este es un desafío de tamaño de byte en el que debe convertir una temperatura de entrada en una de las tres unidades (Celsius, Kelvin y Fahrenheit) a las otras dos.
Entrada
Se le proporcionará una temperatura como un número seguido de una unidad (separada por espacio). La temperatura puede ser un número entero o un número de coma flotante (23 frente a 23.0 o 23.678).
Puede enviar una función o un programa completo que lea la cadena separada por espacios del argumento STDIN / ARGV / function o el equivalente más cercano e imprima la salida en STDOUT o el equivalente más cercano.
Salida
Su salida debe ser la temperatura convertida a los otros dos formatos, separados por una nueva línea y seguidos del carácter de unidad correspondiente en cada línea (opcionalmente separados por un espacio). El orden de las dos unidades no importa.
Precisión de salida
- El número convertido debe tener una precisión de al menos 4 decimales sin redondear.
- Los ceros finales o los decimales son opcionales siempre que los primeros 4 decimales (sin redondeo) sean precisos. También puede omitir los 4 ceros y / o el punto decimal en caso de que la respuesta real tenga 4 ceros después del punto decimal.
- No debería haber ceros a la izquierda
- Cualquier formato de número es aceptable siempre que cumpla con los tres requisitos anteriores.
Representación de la unidad
La unidad de temperatura solo puede ser una de las siguientes:
C
para CelsiusK
para KelvinF
para Fahrenheit
Ejemplos
Entrada:
23 C
Salida:
73.4 F
296.15 K
Entrada:
86.987 F
Salida:
303.6983 K
30.5483 C
Entrada:
56.99999999 K
Salida:
-216.1500 C
-357.0700 F
Este es el código de golf, por lo que la entrada más corta en bytes gana. ¡Feliz golf!
Tabla de clasificación
<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
es precisa para los 4 dígitos? (Yo diría que sí). ¿O debería ser 0.6667
?
0.666666666666
es correcto. Estoy aplicando una precisión basada en no redondeo. Así 0.6666
es la alternativa.
23C\n73.4F\n296.15K
? ¿o debe suprimirse el formato de entrada?