Это задача размером в байт, в которой необходимо преобразовать входную температуру в одной из трех единиц (градусы Цельсия, Кельвина и Фаренгейта) в две другие.
вход
Вам будет предоставлена температура в виде числа, за которым следует единица измерения (разделенная пробелом). Температура может быть целым числом или числом с плавающей запятой (23 против 23,0 или 23,678).
Вы можете передать функцию или полную программу, которая считывает разделенную пробелами строку из аргумента STDIN / ARGV / function или ближайшего эквивалента и печатает вывод в STDOUT или ближайший эквивалент.
Выход
Выходные данные должны быть температурой, преобразованной в два других формата, разделенных новой строкой, за которыми следует соответствующий символ единицы в каждой строке (необязательно, разделенный пробелом). Порядок двух единиц не имеет значения.
Точность вывода
- Преобразованное число должно быть с точностью не менее 4 десятичных знаков без округления.
- Конечные нули или десятичные разряды являются необязательными, если первые 4 десятичных разряда (без округления) являются точными. Вы также можете пропустить 4 нуля и / или десятичную точку, если фактический ответ имеет 4 нуля после десятичной точки.
- Там не должно быть никаких ведущих нулей
- Любой числовой формат является приемлемым, если он удовлетворяет вышеуказанным трем требованиям.
Единица представления
Единицей температуры может быть только одно из следующего:
C
для ЦельсияK
для КельвинаF
для Фаренгейта
Примеры
Входные данные:
23 C
Выход:
73.4 F
296.15 K
Входные данные:
86.987 F
Выход:
303.6983 K
30.5483 C
Входные данные:
56.99999999 K
Выход:
-216.1500 C
-357.0700 F
Это код-гольф, поэтому выигрывает самая короткая запись в байтах! Счастливого гольфа!
Leaderboard
<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
точностью до 4-х цифр? (Я бы сказал ДА). Или это должно быть 0.6667
?
0.666666666666
правильно. Я применяю точность без округления. так 0.6666
это альтернатива.
23C\n73.4F\n296.15K
? или формат ввода должен быть подавлен?