তাপমাত্রা রূপান্তরকারী


38

এটি একটি বাইট আকারের চ্যালেঞ্জ যেখানে আপনাকে তিনটি ইউনিটের একটিতে (সেলসিয়াস, কেলভিন এবং ফারেনহাইট) অন্য দুটিতে ইনপুট তাপমাত্রা রূপান্তর করতে হবে।

ইনপুট

আপনাকে একক হিসাবে সংখ্যার পরে তাপমাত্রা সরবরাহ করা হবে (একক স্থান দ্বারা পৃথক)। তাপমাত্রা একটি পূর্ণসংখ্যা বা ভাসমান পয়েন্ট নম্বর (23 বনাম 23.0 বা 23.678) হতে পারে।

আপনি একটি ফাংশন বা একটি সম্পূর্ণ প্রোগ্রাম জমা দিতে পারেন যা STDIN / ARGV / ফাংশন যুক্তি বা নিকটতম সমতুল্য থেকে স্পেস পৃথক স্ট্রিং পড়বে এবং আউটপুটটি STDOUT বা নিকটতম সমতুল্যে মুদ্রণ করবে।

আউটপুট

আপনার আউটপুটটি তাপমাত্রা অন্য দুটি ফর্ম্যাটে রূপান্তরিত হওয়া উচিত, একটি নতুন লাইনের দ্বারা পৃথক করে এবং প্রতিটি লাইনের সাথে সংশ্লিষ্ট ইউনিট অক্ষর অনুসারে (একটি স্থান দ্বারা বিকল্পভাবে পৃথক)। দুটি ইউনিটের অর্ডারে কিছু যায় আসে না।

আউটপুট নির্ভুলতা

  • রূপান্তরিত সংখ্যাটি গোল না করে কমপক্ষে 4 দশমিক স্থানে নির্ভুল হওয়া উচিত।
  • ট্রেলিং জিরো বা দশমিক স্থানগুলি optionচ্ছিক যতক্ষণ না প্রথম 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

এটি তাই বাইট জেতে স্বল্পতম এন্ট্রি! শুভ গল্ফিং!

লিডারবোর্ড

<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>


আমি ধরে নিই আউটপুটগুলি যে কোনও ক্রমে হতে পারে। উদাহরণস্বরূপ, তিনটি বিন্যাসের আউটপুট হিসাবে গ্রহণযোগ্য 23C\n73.4F\n296.15K ? অথবা ইনপুট ফর্ম্যাটটি দমন করা উচিত?
স্তর নদী সেন্ট

@ ধীরে ধীরে অর্ডার বিট আউটপুট বিভাগে উল্লেখ করা হয়েছে। আপনাকে কেবলমাত্র অন্য দুটি ফর্ম্যাটকে আউটপুট করতে হবে।
অপ্টিমাইজার

আউটপুট নির্ভুলতা সম্পর্কে: 2/3=> 0.6666666666664 র্থ সংখ্যার সাথে সঠিক? (আমি হ্যাঁ বলব) নাকি তা হওয়া উচিত 0.6667?
edc65

@ edc65 0.666666666666ঠিক আছে। আমি একটি বৃত্তাকার ভিত্তিক নির্ভুলতা প্রয়োগ করছি। তাই 0.6666বিকল্প।
অপটিমাইজার

1
আউটপুটে @ ডেনিস, স্পেস প্রিন্ট করার কোনও নিয়ম নেই বা নেই। তবে এটি ইনপুটটিতে উপস্থিত হবে।
অপ্টিমাইজার

উত্তর:


13

সিজেম, 77 65 60 59 55 54 52 বাইট

l~2|"459.67+1.8/'K 273.15-'C 1.8*32+'F"S/m<{~N2$}%6<

সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।

কিভাবে এটা কাজ করে

l~    e# Read and evaluate the input: F, K, C -> 15, 20, 12
2|    e# Bitwise OR with 2: F, K, C -> 15, 22, 14 = 0, 1, 2 (mod 3)

"459.67+1.8/'K 273.15-'C 1.8*32+'F"S/

      e# Push ["459.67+1.8/K" "273.15-C" "1.8*32+F"].
      e# These commands convert from F to K, K to C and C to F.

m<    e# Rotate the array of commands by 15, 22 or 14 units to the left.
{     e# For each command:
  ~   e#     Execute it.
  N   e#     Push a linefeed.
  2$  e#     Copy the temperature for the next iteration.
}%    e# Collect all results in an array.
6<    e# Keep only the first 8 elements.

32

পাইথন 3, 118 116 বাইট

I=input()
t=eval(I[:-1])
u=ord(I[-1])%7
exec("u=-~u%3;t=[t*1.8-459.67,(t-32)/1.8,t+273.15][u];print(t,'FCK'[u]);"*2)

একবারে ঘূর্ণমান ক্রমে রূপান্তরগুলি সম্পাদন করে K -> F -> C -> K


43
ভালবাসা আছে 'FCK'[u]
অ্যালেক্স এ।

11
হা হা কি হেক, বলছি। আমার বোবা মন্তব্য নয়, প্রশ্ন এবং উত্তরগুলিকে উঁচু করুন। : পি
অ্যালেক্স এ।

10

জাভাস্ক্রিপ্ট ( ES6 ), 127 130 132 বাইট

কিছু বিস্ময়কর esolanguage উত্তরের জন্য অপেক্ষা করছি, আমি এখানে গল্ফের খুব বেশি কিছু পাই নি।

টেমপ্লেট স্ট্রিং ব্যবহার করে, 3 টি নতুন লাইনগুলি তাৎপর্যপূর্ণ এবং গণনা করা।

পরীক্ষার জন্য ফায়ারফক্সে স্নিপেট চালান।

F=x=>([t,u]=x.split(' '),z=273.15,y=9/5,u<'F'?`${t*y+32} F
${+t+z} K`:u<'K'?`${t=(t-32)/y} C
${t+z} K`:`${t-=z} C
${t*y+32} F`)

// Predefined tests

;['23 C','86.987 F','56.99999999 K']
.forEach(v=>O.innerHTML += v+' ->\n'+F(v)+'\n\n')
<input id=I><button onclick='O.innerHTML=F(I.value)'>-></button><br>
<pre id=O></pre>


7

পিপ, 58 57 বাইট

Ft"CFK"RMbP(a-(o:[32i273.15]Ab%7))*$/95@A[tb]+(oAt%7).s.t

কমান্ড-লাইন আর্গুমেন্ট থেকে ইনপুট নেয়।

ফর্ম্যাট এবং সামান্য সরল:

o:[32 0 273.15]
F t ("CFK" RM b)
  P (a - o@(Ab % 7))
    * "95"@At / "95"@Ab
    + o@(At%7)
    . s . t

ব্যাখ্যা:

ইউনিট 1 এবং ইউনিট 2 এর মধ্যে সাধারণ রূপান্তর সূত্রটি temp2 = (temp1 - offset1) * mult2 / mult1 + offset2। অফসেটগুলি সম্পূর্ণ শূন্য বা অন্য কোনও সুবিধাজনক তাপমাত্রায় হতে পারে; আসুন 0 ডিগ্রি সে।

ইউনিট মাল্ট অফসেট
সি 5 0     
কে 5 273.15
এফ 9 32    

আমরা কোন ইউনিটের সাথে কাজ করছি তার ভিত্তিতে আমরা এই মানগুলির তালিকা এবং সূচীগুলি তাদের মধ্যে তৈরি করব। পিপের সহকারী অ্যারে / হ্যাশ / অভিধান নেই, তাই আমাদের অক্ষরগুলি পূর্ণসংখ্যার সূচকগুলিতে রূপান্তর করতে হবে। সম্ভবত ASCII মান সহ সহায়ক নিদর্শন থাকবে।

ইউনিট Asc A% 2 Mult A% 7 A% 7% 3 অফসেট
সি 67 1 5 4 1 0
কে 75 1 5 5 2 273.15
এফ 70 0 9 0 0 32

এটি আশাব্যঞ্জক মনে হচ্ছে। আরও একটি দরকারী তথ্য: পাইপ মোড়ানো সূচকগুলি চারপাশে। সুতরাং আমরা %3যতক্ষণ দৈর্ঘ্য 3 এর সাথে সূচী করছি ততক্ষণ আমাদের প্রয়োজন নেই Def সংজ্ঞা o:[32 0 273.15]এবং ব্যবহারটি (o (Ab)%7)কৌশলটি করবে। ( Aএকটি অক্ষরের ASCII মান পায় The (l i)সিনট্যাক্সটি পুনরাবৃত্তগুলিতে সূচীকরণের জন্য, পাশাপাশি ফাংশন কলের জন্য ব্যবহৃত হয়))

গুণকগুলির জন্য, আমাদের কেবল দুটি সংখ্যা 9 এবং 5 প্রয়োজন, যেহেতু সংখ্যাগুলি পিপের মধ্যে স্ট্রিংয়ের সমান, এবং সুতরাং সূচকযোগ্য, গুণকটি পাওয়া যেমন সহজ 95@Ab( @অপারেটারকে সূচকের অন্যান্য পদ্ধতি ব্যবহার করে) as

পিপের অ্যারে-প্রোগ্রামিং বৈশিষ্ট্যগুলি ব্যবহার করে, আমরা একটি সরল পদ্ধতিতে একটি অক্ষর সংরক্ষণ করতে পারি:

95@At/95@Ab
$/95@A[tb]    Make a list of t and b, apply 95@A(...) to each item, and fold on /

শেষ অবধি, নতুন ইউনিটের জন্য অফসেট যুক্ত করুন, একটি স্পেস এবং নতুন ইউনিটের প্রতীকটি শেষের দিকে যুক্ত করুন এবং মুদ্রণ করুন।

আমরা প্রতিটির জন্য tএটি করি "CFK" RM b, এভাবে আসল ব্যতীত প্রতিটি ইউনিটে রূপান্তর।

নমুনা প্রার্থনা:

C:\Golf> pip.py tempConv.pip 86.987 F
30.548333333333332 C
303.6983333333333 K

(পিপের আরও তথ্যের জন্য, সংগ্রহস্থলটি দেখুন ))


6

ডিসি, 102 বাইট

আমি আরও নিশ্চিত যে এটি আরও গল্ফ করা যেতে পারে তবে এখানে একটি শুরু:

4k[9*5/32+dn[ F
]n]sf[459.67+5*9/dn[ K
]n]sk[273.15-1/dn[ C
]n]sc[rlfxlkxq]sC[lkxlcxq]sF?dC=CF=Flcxlfx

ডিসি সবে এই এক উপর গ্রেড তোলে। বিশেষত ডিসি স্ট্রিং হ্যান্ডলিংটি সত্যিই চাকরির উপরে নির্ভর করে না। তবে আমাদের কেবলমাত্র "সি", "এফ" এবং "কে" এর মধ্যে পার্থক্য করা দরকার। ভাগ্যক্রমে ডিসি 12 এবং 15 হেক্স সংখ্যার হিসাবে "সি" এবং "এফ" পার্স করে And

আউটপুট:

$ dc -f tempconv.dc <<< "23 C"
73.4000 F
296.1500 K
$ dc -f tempconv.dc <<< "86.987 F"
303.6983 K
30.5483 C
$ dc -f tempconv.dc <<< "56.99999999 K"
-216.1500 C
-357.0700 F
$

5

সি, 160 বাইট

float v,f[]={1,1.8,1},d[]={0,32,273.15};u,t,j;main(){scanf("%f %c",&v,&u);for(u=u/5-13,v=(v-d[u])/f[u];j<2;)t=(++j+u)%3,printf("%f %c\n",f[t]*v+d[t],"CFK"[t]);}

এটি স্টাডিনের কাছ থেকে পড়ে। কোনও আউটপুট নির্ভুলতা নির্দিষ্ট করা হয়নি, তাই এটি মুদ্রণের printf()মতো যা মনে হয় তা মুদ্রণ করে যা বেশিরভাগ 4 টির বেশি সংখ্যার।

অবরুদ্ধ সংস্করণ:

#include <stdio.h>

float v, f[] = {1.0f, 1.8f, 1.0f}, d[] = {0.0f, 32.0f, 273.15f};
char u;
int t, j;

int main() {
    scanf("%f %c", &v, &u);
    u = u / 5 - 13;
    v = (v - d[u]) / f[u];
    for( ; j < 2; ) {
        t = (++j + u) % 3;
        printf("%f %c\n", f[t] * v + d[t], "CFK"[t]);
    }

    return 0;
}

কিছু ব্যাখ্যা / মন্তব্য:

  • এটি সন্ধানের টেবিলগুলির উপর ভিত্তি করে fএবং dএতে সেলসিয়াসকে অন্য কোনও ইউনিটে রূপান্তর করতে গুণক উপাদান এবং অফসেট রয়েছে (বিশেষ কিছু ক্ষেত্রে এড়াতে সেলসিয়াস নিজেই সহ)।
  • যদি uইনপুট ইউনিট হয় তবে 0, 1 থেকে 2 এবং 2 তে u / 5 - 13মানচিত্র ।CFK
  • ইনপুট সর্বদা সেলসিয়াসে রূপান্তরিত হয়।
  • লুপ দুটি ইউনিটগুলির উপর পুনরাবৃত্তি করে যা ইনপুট নয়, এবং সেলসিয়াস মানটিকে সেই ইউনিটে রূপান্তর করে।
  • গল্ফযুক্ত সংস্করণ ইনপুট গ্রহণের জন্য intভেরিয়েবলের পরিবর্তে একটি চলক ব্যবহার charকরে scanf()। এটি একটি প্রকারের অমিল, যা কেবল সামান্য এন্ডিয়ান মেশিনগুলিতে সঠিক ফলাফল উত্পন্ন করবে (যা এই দিনগুলিতে প্রায় সমস্তই রয়েছে)।

152 থেকে সংক্ষিপ্ত: float v,f[]={1,1.8,1,0,32,273.15};u;main(j){scanf("%f %c",&v,&u);for(u=u/4&3,v-=f[u+3],v/=f[u];j++<3;printf("%f %c\n",f[u]*v+f[u+3],"CFK"[u]))u++,u%=3;}। কিছুটা ভেরিয়েবলের সাথে কিছুটা পেয়েছে, চারপাশে চলমান কোড। নতুন অনুমানটি হল আরজিসি = 1 (জে = 1)। u = u/4 & 3
ডোমেন

4

পাইথন 2, 168 বাইট

পাইথন 3 সমাধানটি আমি ঠিক যেমন পোস্ট করতে চলেছি দেখেছি কিন্তু যাই হোক না কেন আমি কেবল গল্ফিংয়ের অনুশীলন করছি।

s=raw_input().split();v=eval(s[0]);c,t=(v-32)/1.8,v-273.15
print[["%fC\n%fF"%(t,t*1.8+32),"%fK\n%fC"%(c+273.15,c)][s[1]=="F"],"%fK\n%fF"%(v+273.15,v*1.8+32)][s[1]=="C"]

Ungolfed:

def conv(s):
    s = s.split()
    v = float(s[0])
    if s[1]=="C":
        print "%f K\n%f F"%(v+273.15,v*1.8+32)
    elif s[1]=="F":
        v = (v-32)/1.8
        print "%f K\n%f C"%(v+274.15,v)
    else:
        c = v-273.15
        print "%f C\n%f F"%(c,c*1.8+32)


3

পিএইচপি, 161 153

function f($i){list($v,$u)=split(" ",$i);$u==C||print($v=$u==K?$v-273.15:($v-32)*5/9)."C\n";$u!=K&&print $v+273.15 ."K\n";$u!=F&&print $v*9/5+32 ."F\n";}

http://3v4l.org/CpvG7

সেরা দশে নামার জন্য আরও দু'টি চরিত্র গল্ফ পেয়ে আনন্দিত হবে ...


ভাল প্রযুক্তিগতভাবে, নিয়মগুলির উপর ভিত্তি করে, ইউনিটের মধ্যে ফাঁকা হওয়ার দরকার নেই এবং আউটপুটে এটির তাপমাত্রা থাকে। আমার গণনা দ্বারা যা 3 বাইট সঞ্চয় করে।
কেদে

ভাল পয়েন্ট :-) আমি একটি পরিবর্তনশীল পুনরায় ব্যবহার করার একটি উপায়ও পেয়েছি যা অন্য মুষ্টিমেয় সাশ্রয় করে।
স্টিফেন

135 বাইট দীর্ঘ সমাধান: স্যান্ডবক্স.অনলাইনপ্পফিউশনস / কোড / । মূলত: সরানো \nহয়েছে এবং বাস্তব নিউলাইনগুলিতে পরিবর্তিত হয়েছে, একটি সম্পূর্ণ প্রোগ্রামে রূপান্তরিত হয়েছে (জিইটি-র উপর ডেটা গ্রহণ করা, যেমন http://localhost/my_file.php?t=<temperature>:) এবং এর $u!=Kসাথে $u^Kএবং এর $u!=Fসাথে প্রতিস্থাপন করা হয়েছে $u^F। যদি $uহয় তবে Kদৌড়ানো $u^Kএকটি খালি স্ট্রিং ফিরিয়ে দেবে, এটি একটি মিথ্যা মান। এছাড়াও, বিভাজনের ভিতরে আপনার স্থানটিকে রূপান্তরিত করা হয়েছিল C^c(কেবল শীতল দেখতে দেখতে)।
ইসমাইল মিগুয়েল

3

পাইথন 2, 167

s=raw_input();i=eval(s.split()[0]);d={"C":"%f K\n%f F"%(i+273,32+i*1.8),"K":"%f C\n%f F"%(i-273,i*1.8-459.4),"F":"%f C\n%f K"%(i/1.8-17.78,i/1.8+255.2)};print d[s[-1]]`

কোডগল্ফে এটি আমার প্রথম চেষ্টা।


পিপিসিজিতে আপনাকে স্বাগতম। এটি প্রথম গল্ফের জন্য একটি দুর্দান্ত প্রচেষ্টা! আমি ফর্ম্যাটিং এবং স্টাফগুলি সংশোধন করে আপনার পোস্টে কিছু চিনি যুক্ত করেছি।
অপ্টিমাইজার

2

পাইথ, 126 বাইট

AYZczdJvY=Y*JK1.8
?%"%f F\n%f K",+32Y+J273.15qZ"C"?%"%f F\n%f C",-Y459.67-J273.15qZ"K"?%"%f C\n%f K",c-J32K*+J459.67c5 9qZ"F"

এটা আমার জন্য সত্যিই দীর্ঘ অনুভূতি ... ওহ ভাল।


8
এর চেয়ে কম পাইথন সমাধান রয়েছে: পি
অরপল 21

@orlp আমি জানি, আমি জানি ...
kirbyfan64sos

2

আর, 150 144 141 বাইট

a=scan(,"");U=c("C","K","F");i=which(U==a[2]);Z=273.15;x=scan(t=a[1]);cat(paste(c(C<-c(x,x-Z,5*(x-32)/9)[i],C+Z,32+C*9/5)[-i],U[-i]),sep="\n")

নতুন লাইনের সাহায্যে ইন্ডেন্ট করা:

a=scan(,"")
U=c("C","K","F")
i=which(U==a[2])
Z=273.15
x=as.double(a[1])
cat(paste(c(C<-c(x,x-Z,5*(x-32)/9)[i],C+Z,32+C*9/5)[-i],
            U[-i]),
    sep="\n")

ব্যবহার:

> a=scan(,"");U=c("C","K","F");i=which(U==a[2]);Z=273.15;x=scan(t=a[1]);cat(paste(c(C<-c(x,x-Z,5*(x-32)/9)[i],C+Z,32+C*9/5)[-i],U[-i]),sep="\n")
1: 23 C
3: 
Read 2 items
Read 1 item
296.15 K
73.4 F
> a=scan(,"");U=c("C","K","F");i=which(U==a[2]);Z=273.15;x=scan(t=a[1]);cat(paste(c(C<-c(x,x-Z,5*(x-32)/9)[i],C+Z,32+C*9/5)[-i],U[-i]),sep="\n")
1: 56.9999999 K
3: 
Read 2 items
Read 1 item
-216.1500001 C
-357.07000018 F
> a=scan(,"");U=c("C","K","F");i=which(U==a[2]);Z=273.15;x=scan(t=a[1]);cat(paste(c(C<-c(x,x-Z,5*(x-32)/9)[i],C+Z,32+C*9/5)[-i],U[-i]),sep="\n")
1: 86.987 F
3: 
Read 2 items
Read 1 item
30.5483333333333 C
303.698333333333 K

@ অ্যালেক্সা ধন্যবাদ। & @ মিকিটি !


চমৎকার কাজ. as.double()পরিবর্তে ব্যবহার করে আপনি একটি বাইট সংরক্ষণ করতে পারেন as.numeric()
অ্যালেক্স এ।

আমি মনে করি 4 টি চরিত্রের জন্য switchবিবৃতিটি করা যেতে পারেc(x,x-273.15,5*(x-32)/9)[i]
মিকিটি

ধন্যবাদ! প্রকৃতপক্ষে, সংস্করণ 3.0 এর পূর্বে, আমি as.numeric () এর পরিবর্তে as.real () দিয়ে এটি আরও সংক্ষিপ্ত করতে পারতাম, তবে ফাংশনটি এখন অচল।
প্ল্যানাপাস

অন্য একটি সঞ্চয়ী প্রতিস্থাপন as.double(a[1])করা হবে scan(t=a[1])
মিকিটি

2

জাভাস্ক্রিপ্ট, 206 193 187 175 162 159 156

e=273.15,a=prompt(f=1.8).split(" "),b=+a[0],X=b-32,c=a[1];alert(c=="F"&&(X/f+"C\n"+(X/f+e+"K"))||(c=="C"?b*f+32+"‌​F\n"+(b+e+"K"):b*f-459.67+"F\n"+(b-e+"C")))

আরও কিছুটা গল্ফটি আমাকে গল্ফ করতে সহায়তা করার জন্য অপটিমাইজার এবং ইসমাইল মিগুয়েলকে ধন্যবাদ জানাই।


1
আপনি রূপান্তর দ্বারা কয়েক বাইট সংরক্ষণ করতে পারবেন if elseকরার?:
অপ্টিমাইজার

1
তুমি তোমার মিশ্রন দ্বারা আরো কয়েকটি বাঁচাতে পারে if ... return; return ?:একটি থেকেreturn ?: ?:
ড্যানিয়েল

1
আপনি 1 বাইট প্রতিস্থাপন সংরক্ষণ করতে পারবেন a=prompt().split(" "),e=273.15,f=1.8;alert([...]সঙ্গে a=prompt(e=273.15,f=1.8).split(" "),alert([...]। এছাড়াও, আপনি ইউনিটের পরে স্পেসগুলি সরাতে পারেন। এছাড়াও, অপসারণ returnএবং চলন্ত alertফাংশন ভিতরে অনেক লঘু! এবং সেটিংয়ের পরিবর্তে a, কেবল apply()বিভাজন সহ পদ্ধতিটি ব্যবহার করুন । তবে আপনি এখানে যান (function(b,c){alert(c=="F"&&((b-32)/f+"C\n"+((b-32)/f+e+"K"))||(c=="C"?b*f+32+"F\n"+(b+e+"K"):b*f-459.67+"F\n"+(b-e+"C")))}).apply(e=273.15,prompt(f=1.8).split(" ")):! 166 বাইট ( -21 বাইট)। সন্দেহ থাকলে আমাকে আড্ডায় ডুব দিন।
ইসমাইল মিগুয়েল

1
আমি এটিকে যাইহোক 162 এ নামিয়েছি।
সুপারজেডি ২৪

1
আপনি ঠিক বলেছেন, আমি কিছু জায়গা মিস করেছি। এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ।
সুপারজেডি ২৪

2

গণিত, 66

আশা করি এবার ঠিক করবেন।

Print[1##]&@@@Reduce[F==1.8K-459.67&&C==K-273.15&&#==#2,,#2];&@@#&

উদাহরণ

%[37 C]   (* % represents the function above *)

310.15 কে

98.6 এফ


ওপি একটি মন্তব্যে বলেছে যে "আপনাকে কেবল অন্য দুটি ফর্ম্যাট আউটপুট করতে হবে।"
lirtosiast

@ থমাস দ্যাট এবং অন্যান্য সমস্যাগুলি (আশাকরি) সমাধান হয়েছে। খুব ভাল না তবে আমি আগ্রহ হারাচ্ছি।
মিঃ উইজার্ড

1

এক্সেল, 239 বাইট

=IF(RIGHT(A1,1)="C",LEFT(A1,LEN(A1)-2)+273.15&"K
"&9*LEFT(A1,LEN(A1)-2)/5+32&"F",IF(RIGHT(A1,1)="K",LEFT(A1,LEN(A1)-2)-273.15&"C
"&(LEFT(A1,LEN(A1)-2)*9/5-459.67&"F",(LEFT(A1,LEN(A1)-2)+459.67)*5/9&"K
"&(LEFT(A1,LEN(A1)-2)-32)*5/9&"C"))

112 বাইট যা মান এবং ইউনিট পৃথক করতে ব্যবহৃত হয়। এর চেয়ে ভাল সমাধান কেউ জানেন?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.