চাঁদে দুটি পয়েন্টের মধ্যে দূরত্ব


11

চাঁদে দুটি পয়েন্টের অক্ষাংশ / দ্রাঘিমাংশ দেওয়া (lat1, lon1)এবং (lat2, lon2), হরসারিন সূত্রের মতো একই ফলাফল দেয় এমন কোনও সূত্র ব্যবহার করে কিলোমিটারে দুটি পয়েন্টের মধ্যে দূরত্ব গণনা করুন ।

ইনপুট

  • চারটি পূর্ণসংখ্যার মান lat1, lon1, lat2, lon2ডিগ্রি (কোণ) বা
  • ϕ1, λ1, ϕ2, λ2রেডিয়ানগুলিতে চার দশমিক মান ।

আউটপুট

দুটি পয়েন্ট (কোনও যথার্থ বা বৃত্তাকার পূর্ণসংখ্যার সাথে দশমিক) এর মধ্যে কিলোমিটারের দূরত্ব।

হ্যাভারসাইন সূত্র

d = 2 r \ arcsin \ বাম (\ sqrt {\ পাপ ^ 2 \ বাম (\ frac {\ phi_2 - \ phi_1} {2} \ ডান) + \ কোস (i phi_1) \ কোস (\ phi_2) \ পাপ ^ 2 \ বাম (\ frac {\ ল্যাম্বদা_2 - mb ল্যাম্বদা_1} {2} \ ডান)} \ ডান)

কোথায়

  • r গোলকের ব্যাসার্ধ (ধরুন যে চাঁদের ব্যাসার্ধ 1737 কিমি),
  • ϕ1 রেডিয়ানে বিন্দু 1 এর অক্ষাংশ
  • ϕ2 রেডিয়ানগুলিতে 2 পয়েন্টের অক্ষাংশ
  • λ1 রেডিয়ানে 1 পয়েন্টের দ্রাঘিমাংশ
  • λ2 রেডিয়ানে পয়েন্ট 2 এর দ্রাঘিমাংশ
  • d দুটি পয়েন্টের মধ্যে বৃত্তাকার দূরত্ব

(উত্স: https://en.wikedia.org/wiki/Haversine_forula )

অন্যান্য সম্ভাব্য সূত্র

উদাহরণস্বরূপ যেখানে বৃত্তাকার পূর্ণসংখ্যা হিসাবে ইনপুটগুলি ডিগ্রি এবং আউটপুট হয়

42, 9, 50, 2  --> 284
50, 2, 42, 9  --> 284
4, -2, -2, 1  --> 203
77, 8, 77, 8  --> 0
10, 2, 88, 9  --> 2365

বিধি

  • ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক বিন্যাসে দেওয়া যেতে পারে ।
  • ইনপুটগুলি ডিগ্রি বা রেডিয়ানে আছে কিনা তা উত্তরে উল্লেখ করুন ।
  • অবৈধ অক্ষাংশ / দ্রাঘিমাংশ মানগুলি হ্যান্ডেল করার দরকার নেই
  • হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য। যদি কোনও ফাংশন হয় তবে আপনি আউটপুটটি মুদ্রণের পরিবর্তে ফিরে আসতে পারেন।
  • যদি সম্ভব হয় তবে দয়া করে একটি অনলাইন পরীক্ষার পরিবেশের একটি লিঙ্ক অন্তর্ভুক্ত করুন যাতে অন্য লোকেরা আপনার কোড চেষ্টা করে দেখতে পারে!
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • এটি তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।

7
এই নির্দিষ্ট সূত্রটি ব্যবহার করা একটি অযৌক্তিক প্রয়োজন। সেই সূত্রটি যেমন দেবে তেমন ফলাফল দেওয়া কি যথেষ্ট নয় ?
অ্যাডম

1
আমরা কি রেডিয়ানের ইনপুট নিতে পারি?
অ্যাডম

1
@ এমদাহমৌনে ঠিক আছে, তাই আপনি লেখার স্বাচ্ছন্দ্যের জন্য ডিগ্রি তালিকাভুক্ত করেছেন, তবে রেডিয়ানে থাকতে আমাদের কি ইনপুট লাগতে পারে? অন্যথায় এই চ্যালেঞ্জটি কোণ রূপান্তর এবং মূল চ্যালেঞ্জের কম্বো (যা খারাপ)।
অ্যাডম

5
আমি এই প্রশ্নটিকে অগ্রাহ্য করেছি কারণ 'কার ভাষা এই সূত্রে সর্বাধিক গল্ফ করতে পারে' বলে মনে হয়, যা আমার মতে বিশেষ আকর্ষণীয় নয়।
এয়ারড কোয়েনেরিংহিং

2
সবচেয়ে ভাষার জন্য একটি সংক্ষিপ্ত সূত্র হবে d = r * acos( sin ϕ1 sin ϕ2 + cos ϕ1 cos ϕ2 cos(λ2 - λ1) )যেখানেr = 1737
মাইল

উত্তর:



6

আর + জিওস্ফিয়ার , 54 47 বাইট

function(p,q)geosphere::distHaversine(p,q,1737)

এটি অনলাইন চেষ্টা করুন!

longitude,latitudeডিগ্রিতে 2-উপাদান ভেক্টর হিসাবে ইনপুট নেয় । টিআইওর কাছে geosphereপ্যাকেজ নেই তবে নিশ্চিত হয়ে নিন যে এটি নীচের ক্রিয়ায় অভিন্ন ফলাফল প্রদান করবে।

জোনাথন অ্যালানকে 7 টি বাইট কামিয়ে দেওয়ার জন্য ধন্যবাদ।

আর , 64 বাইট

function(p,l,q,k)1737*acos(sin(p)*sin(q)+cos(p)*cos(q)*cos(k-l))

এটি অনলাইন চেষ্টা করুন!

পরীক্ষার ক্ষেত্রে যেমন 4 ইনপুট লাগে তবে ডিগ্রির পরিবর্তে রেডিয়ানগুলিতে।


হয় e3এবং /1000সত্যিই প্রয়োজনীয়?
জোনাথন অ্যালান

1
@ জোনাথান অ্যালান তারা নেই। এটি আমার কাছে বেশ বোবা, তবে ব্যাসার্ধের জন্য ডিফল্ট যুক্তিটি পৃথিবীর মিটারে তাই এটি তখন যুক্তিযুক্ত ছিল, লোল
জিউসেপ্পে

দ্রষ্টব্য যে কোসাইনগুলির গোলকীয় আইন সংখ্যাগতভাবে স্থিতিশীল নয়, বিশেষত ছোট দূরত্বের জন্য। ম্যাথামেটিকায় এটি সম্ভবত ঠিক আছে , তবে আর এবং বেশিরভাগ অন্যান্য ভাষায় এটি "বিতর্কযোগ্য যে" যে কোনও সূত্র যা হ'রসিন সূত্রের একই ফলাফল দেয় "মানদণ্ডটি সম্পন্ন হয় কিনা whether
বন্ধ করা বন্ধ করে দিয়েছে

@ এসিডেটোটারনকাউন্টার ক্লকওয়াসটি আমি বেশিরভাগ ক্ষেত্রে এটি বেস আরে রাখার খাতিরে অন্তর্ভুক্ত করেছি I
জিউসেপে

হ্যাঁ, বা যেমন একটি স্থিতিশীল সূত্র ব্যবহার করে বলুন, হ্যাশারিন সূত্রটি ...
ঘড়ির

5

জাভাস্ক্রিপ্ট (নোড.জেএস) , 65 বাইট

(a,b,c,d,C=Math.cos)=>1737*Math.acos(C(a-c)+C(a)*C(c)*(C(d-b)-1))

এটি অনলাইন চেষ্টা করুন!

কেভিন ক্রুইজসেনের উত্তর, মাইলস 'এবং নীলের মন্তব্যের ভিত্তিতে এবং আরনল্ডের অনুরোধের ভিত্তিতে।


5

জাভাস্ক্রিপ্ট (ES7), 90 বাইট

দ্রষ্টব্য: একটি অল্প সংক্ষিপ্ত সমাধানের জন্য @ অলিভিয়ারগ্রোওয়ের পোস্ট দেখুন

টিফেল্ডের উত্তরের একটি সরাসরি বন্দর । রেডিয়ানগুলিতে ইনপুট নেয়।

(a,b,c,d,M=Math)=>3474*M.asin((M.sin((c-a)/2)**2+M.cos(c)*M.cos(a)*M.sin((d-b)/2)**2)**.5)

এটি অনলাইন চেষ্টা করুন!

কুখ্যাত with(), 85 বাইট ব্যবহার করে

6 বাইট সংরক্ষণের জন্য @ l4m2 ধন্যবাদ

with(Math)f=(a,b,c,d)=>3474*asin((sin((c-a)/2)**2+cos(c)*cos(a)*sin((d-b)/2)**2)**.5)

এটি অনলাইন চেষ্টা করুন!


2
আপনি করতে পারেনwith(Math)f=(a,b,c,d)=>3474*asin((sin((c-a)/2)**2+cos(c)*cos(a)*sin((d-b)/2)**2)**.5)
l4m2

@ মাইলসের সংক্ষিপ্ত অ্যালগরিদম ব্যবহার করে 77 বাইট :(a,b,c,d,M=Math)=>1737*M.acos(M.sin(a)*M.sin(c)+M.cos(a)*M.cos(c)*M.cos(d-b))
কেভিন ক্রুইজসেন

1
@ নীলের সংক্ষিপ্ত অ্যালগোরিদম ব্যবহার করে by৪ বাইট :(a,b,c,d,M=Math)=>1737*M.acos(M.cos(a-c)+M.cos(a)*M.cos(c)*(M.cos(d-b)-1))
কেভিন ক্রুইজসেন

3
প্রত্যেকের উত্তরকে অনুকূলিতকরণ করে 65 বাইট :(a,b,c,d,C=Math.cos)=>1737*Math.acos(C(a-c)+C(a)*C(c)*(C(d-b)-1))
অলিভিয়ার গ্রাগোয়ার

@ অলিভিগ্রগ্রোয়ার খুব সুন্দর আপনার সম্ভবত এটি একটি নতুন উত্তর হিসাবে পোস্ট করা উচিত।
আর্নৌল্ড

5

এপিএল (ডায়ালগ ইউনিকোড) , 40 35 বাইট এসবিসিএস

অজ্ঞাতনামা বাম আর্গুমেন্ট হিসাবে {ϕ₁, λ₁ and এবং ডান আর্গুমেন্ট হিসাবে {ϕ₂, λ₂ T নেয়।

সূত্র 2 আর √ (sin² ( (ϕ₁-ϕ₂)2 ) + কোস ϕ₁ কোস ϕ₂ সিনϕ₂ ( (λ₁ - λ₂)2 )) ব্যবহার করে)

3474ׯ1○.5*⍨1⊥(×⍨12÷⍨-)×1,2×.○∘⊃,¨

এটি অনলাইন চেষ্টা করুন! ( rফাংশনটি ডিগ্রিগুলিকে রেডিয়ানে রূপান্তর করে)


 সংগত উপাদান সংমিশ্রণ; {{ϕ₁, ϕ₂}, {λ₁, λ₂}

 প্রথম বাছাই; {ϕ₁, ϕ₂}

 তারপর

2×.○ তাদের কোসাইন পণ্য; cos ϕ₁ cos ϕ₂
lit. ডট "পণ্য" তবে ট্রিগ ফাংশন সিলেক্টারের সাথে (2 টি কোসাইন) পরিবর্তনের পরিবর্তে গুণ এবং বারের পরিবর্তে সময়

1, 1 এটি পূর্বে; {1, কোস ϕ₁ কোস ϕ₂

( নিম্নলিখিত ক্রিয়াকলাপটি {ϕ₁, λ₁} এবং {ϕ₂, λ₂ applying এ প্রয়োগ করার ফলে এটির গুণ বৃদ্ধি করুন:

- তাদের পার্থক্য; {ϕ₁ - ϕ₂, λ₁ - λ₂

2÷⍨ 2 দ্বারা বিভক্ত; { (Φ₁ - φ₂) / 2 , (λ₁ - λ₂) / 2 }

1○ যে sine; {পাপ ( (ϕ₁ - ϕ₂)2 ), পাপ ( (λ₁ - λ₂)2 )}

×⍨ বর্গ যা (lit. স্ব-গুণ); {sin² ( (ϕ₁ - ϕ₂)2 ), sin² ( (λ₁-λ₂)2 )}

এখন আমাদের কাছে {sin² ( (ϕ₁ - ϕ₂)2 ), cos ϕ₁ cos ϕ₂ sin² ( (λ₁ - λ₂)2 )}

1⊥ যোগফল (লিটার। বেস -১ এ মূল্যায়ন); sin² ( (ϕ₁-ϕ₂)2 ) + cos ϕ₁ cos ϕ₂ sin² ( (λ₁ - λ₂)2 )

.5*⍨ এর বর্গমূল (লিটার। এটি অর্ধেক শক্তি বাড়ান)

¯1○ যে আরকসিন

3474× এটির দ্বারা এটি গুন করুন


ডিগ্রিগুলিতে ইনপুটটিকে অনুমতি দেওয়ার ফাংশনটি হ'ল:

○÷∘180

÷180 180 দ্বারা বিভক্ত যুক্তি

 by দ্বারা গুণ


4

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

lambda a,b,c,d:3474*asin((sin((c-a)/2)**2+cos(c)*cos(a)*sin((d-b)/2)**2)**.5)
from math import*

এটি অনলাইন চেষ্টা করুন!

রেডিয়ানগুলিতে ইনপুট নেয়।


পুরাতন সংস্করণ, আই / ও স্ল্যাক হওয়ার আগে: ইনপুটটিকে পূর্ণসংখ্যার ডিগ্রি হিসাবে গ্রহণ করে এবং গোলাকার ডিস্টে ফেরত দেয়

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

lambda a,b,c,d:int(round(3474*asin((sin((r(c)-r(a))/2)**2+cos(r(c))*cos(r(a))*sin((r(d)-r(b))/2)**2)**.5)))
from math import*
r=radians

এটি অনলাইন চেষ্টা করুন!


আপনি ড্রপ করতে পারেন intএবং roundকারণ দশমিক আউটপুট অনুমতি দেওয়া হয়, এছাড়াও আপনি রেডিয়ানে রূপান্তর এড়াতে পারবেন না কারণ রেডিয়ানে যেমন ইনপুট এছাড়াও অনুমতি দেওয়া হয়
mdahmoune

@ এমদাহমৌনে, ধন্যবাদ, আপডেট হয়েছে
টিফিল্ড

3

জাভা 8, 113 92 88 82 বাইট

(a,b,c,d)->1737*Math.acos(Math.cos(a-c)+Math.cos(a)*Math.cos(c)*(Math.cos(d-b)-1))

ইনপুট a,b,c,dহয় ϕ1,λ1,ϕ2,λ2রেডিয়ানে।

-21 বাইট @ মাইলসের খাটো সূত্র ব্যবহার করে ।
-4 বাইটস @ অলিভিগ্রগ্রোরকে ধন্যবাদ জানায় কারণ আমি এখনও {Math m=null;return ...;}প্রত্যেকে বাদ দিয়ে সরাসরি ব্যবহারের পরিবর্তে প্রতিটি Math.হিসাবে ব্যবহার করেছি । -6 ব্যবহার বাইট @Neil এর খাটো সূত্রm.returnMath

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

ব্যাখ্যা:

(a,b,c,d)->                  // Method with four double parameters and double return-type
  1737*Math.acos(            //  Return 1737 multiplied with the acos of:
   Math.cos(a-c)             //   the cos of `a` minus `c`,
   +Math.cos(a)*Math.cos(c)  //   plus the cos of `a` multiplied with the cos of `c`
   *(Math.cos(d-b)-1))       //   multiplied with the cos of `d` minus `b` minus 1

1
"অকালীন অপটিমাইজেশন হ'ল সমস্ত অশুভের মূল"! 88 বাইট:(a,b,c,d)->1737*Math.acos(Math.sin(a)*Math.sin(c)+Math.cos(a)*Math.cos(c)*Math.cos(d-b))
অলিভিয়ার গ্রাগোয়ার

" অকালীন অপটিমাইজেশন হ'ল সমস্ত অশুভের মূল " আমার ধারণা আপনি সত্যই ঠিক আছেন .. ধন্যবাদ!
কেভিন ক্রুইজসেন

1
আমি একটি সংক্ষিপ্ত সূত্র পেয়েছি:(a,b,c,d)->1737*Math.acos(Math.cos(a-c)+Math.cos(a)*Math.cos(c)*(Math.cos(d-b)-1))
নীল

(যদিও মূল ওল্ফ্রাম ভাষায় এই সূত্রটি সংক্ষিপ্ত নয়)
নীল

3

জাপট , 55 50 বাইট

MsU *MsW +McU *McW *McX-V
ToMP1/7l¹ñ@McX aUÃv *#­7

অন্যান্য উত্তরগুলির মতো যথাযথভাবে সুনির্দিষ্টভাবে প্রয়োজন হয় না, তবে ছেলেটি আমি এই উত্তর দিয়ে মজা করেছি। আমাকে বিস্তৃত করার অনুমতি দিন।
বেশিরভাগ ভাষায়, এই চ্যালেঞ্জটি বেশ সরল for অবশ্যই, আপনি জাপটে জাভাস্ক্রিপ্ট এম্বেড করতে পারেন তবে ফেং শুইয়ের বিপরীতে এটিই হবে।

এই সামান্য উপদ্রব কাটিয়ে উঠতে আমাদের যা করতে হবে তা হ'ল আনুমানিক আরকোসিন এবং আমরা যেতে ভাল!

প্রথম অংশটি হ'ল আরকোসিনে খাওয়ানো সমস্ত কিছু everything

MsU *MsW +McU *McW *McX-V
MsU                        // Take the sine of the first input and
    *MsW...                // multiply by the cos of the second one etc.

ফলাফলটি Uপরবর্তীতে ব্যবহার করার জন্য স্পষ্টত সংরক্ষণ করা হয়।

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

ToMP1/7l¹ñ@McX aUÃv *#­7
T                       // Take 0
 o                      // and create a range from it
  MP                    // to π
    1/7l¹               // with resolution 1/7!.
         ñ@             // Sort this range so that
           McX          // the cosine of a given value
               aU       // is closest to U, e.g. the whole trig lot
                        // we want to take arccosine of.
                 Ã      // When that's done,
                  v     // get the first element
                    *#­7 // and multiply it by 1737, returning implicitly.

আমরা জেনারেটরের রেজোলিউশনের জন্য যে কোনও বৃহত সংখ্যক ব্যবহার করতে পারতাম, ম্যানুয়াল টেস্টিং 7!যথেষ্ট পরিমাণে যথাযথভাবে দ্রুত হওয়ার সময় দেখা গেছে ।

রেডিয়ান হিসাবে ইনপুট নেয়, সীমাহীন সংখ্যা আউটপুট করে।

পাঁচটি কামিয়ে ধন্যবাদ বাইট অলিভার

এটি অনলাইন চেষ্টা করুন!


আপনি অপসারণ করতে পারেন (মধ্যে Mc(X-V। যেহেতু চার্ট কোডটি 1737আইএসও -8859-1 নয়, এটি ইউটিএফ -8 এ স্যুইচ করে, যার দাম আরও বেশি। পরিবর্তে আপনি 173+ এর জন্য চর-কোড ব্যবহার করতে পারেন 7ethproductions.github.io/japt/?v=1.4.5&code=I603&input=
অলিভার

এছাড়াও আপনি :-) ,পরে সরিয়ে ফেলতে পারেনToMP
অলিভার

@ অলিভার অনেক ধন্যবাদ, আমার প্রথম সংস্করণে প্রথম বন্ধনী আবশ্যক ছিল তবে কিছুটা গল্ফ করার সময় অচল হয়ে পড়েছিল, যদিও আমি এটি পুরোপুরি মিস করেছি। এছাড়াও, এনকোডিং জিনিস সম্পর্কে জানতাম না, তার জন্যও অনেক ধন্যবাদ।
নিট

1
আপনি যদি জাভাস্ক্রিপ্টের রুটে যেতে চান তবে মনে রাখবেন আপনি শোকের মাধ্যমে সমস্ত কিছু চালাতে পারেন।
অলিভার


3

রুবি , 87 70 69 বাইট

->a,b,c,d{extend Math;1737*acos(cos(a-c)+cos(a)*cos(c)*(cos(d-b)-1))}

এটি অনলাইন চেষ্টা করুন!

এখন নীলের পদ্ধতিটি ব্যবহার করে কেভিন ক্রুইজসেনকে ধন্যবাদ।


নীলের ফর্মুলাটি ব্যবহার করা 17 বাইট সংক্ষিপ্ত:->a,b,c,d{include Math;1737*acos(cos(a-c)+cos(a)*cos(c)*(cos(d-b)-1))}
কেভিন ক্রুইজসেন

2

জেলি ,  23 22  18 বাইট

-4 মাইল ধন্যবাদ (ব্যবহারের বাইট {এবং }ব্যবহার করার সময় তাদের সূত্র

;I}ÆẠP+ÆSP${ÆA×⁽£ġ

[ϕ1, ϕ2,]বামদিকে এবং [λ1, λ2]ডানদিকে রেডিয়ানে একটি ডায়াডিক ফাংশন গ্রহণ করে যা ফলাফলটি ফেরত দেয় (ভাসমান বিন্দু হিসাবে)।

এটি অনলাইন চেষ্টা করুন!


খনি ... (এটিকে ব্যবহার করে এখানে একটি বাইটও সংরক্ষণ করা হয়েছে {)

,IÆẠCH;ÆẠ{Ḣ+PƊ½ÆṢ×⁽µṣ

এটি অনলাইনে চেষ্টা করুন


ওহ আকর্ষণীয়, আমি পৃষ্ঠাটি আবার রিফ্রেশ করেছি এবং এটি আপনার সম্পাদনা দেখিয়েছে, পরিবর্তনগুলি দেখানোর জন্য নতুন উত্তর ক্লিক করে আপনার সম্পাদনাগুলি দেখানোর জন্য আপডেট হয় না। 18 বাইট বিকল্প ছিল;I}ÆẠP+ÆSP${ÆA×⁽£ġ
মাইল মাইল

কীভাবে ব্যবহার করবেন তা কখনই বুঝতে পারেনি {এবং }তারা যা করতে পারে তা কখনই করেনি। এর মানে কি এই নয় যে আমি 17 সালে অন্য উপায়ে করতে পারি ?!
জোনাথন অ্যালান

হতে পারে. {এবং }কেবল একটি মোনাড থেকে একটি ডায়াড তৈরি করুন। একই মতামত হতে পারে P{ -> ḷP¥। এমন কোনও কাজ করার জন্য দ্রুত একটি রচনা (জে থেকে) যুক্ত করা ভাল x (P+$) y -> (P x) + (P y)যা একই পরিস্থিতিতে একই সাথে দুটি বা বাইট বাঁচাতে পারে।
মাইল

2

ম্যাপিং টুলবক্স, 26 বাইট সহ ম্যাটল্যাব

@(x)distance(x{:})*9.65*pi

বেনামে ফাংশন যা চ্যালেঞ্জ হিসাবে বর্ণিত একই ক্রমে চারটি ইনপুটগুলি সেল অ্যারে হিসাবে গ্রহণ করে।

নোট করুন যে এটি সঠিক ফলাফল দেয় (ধরে নিলেন যে চাঁদের ব্যাসার্ধটি 1737 কিমি), কারণ 1737/180সমান 9.65

মতলব আর ২০১201 বি তে রান উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন


1

পাইথন 3, 79 বাইট

from geopy import*
lambda a,b:distance.great_circle(a,b,radius=1737).kilometers

টিআইওর জিওপিপি নেই


2
@ নীট, আমার বোধগম্যতা হল যে প্রশ্নটি পূর্বে প্রকাশিত লাইব্রেরি ব্যবহার করা এটি সুষ্ঠু খেলা। আমি মনে করি এটি ম্যাটল্যাবের ম্যাপিং সরঞ্জামগুলি বা গণিত লাইব্রেরি ব্যবহার করে অন্যান্য ভাষা ব্যবহার করার মতো।
রুটটো দুই

1

এপিএল (ডায়ালগ ইউনিকোড) , 29 বাইট এসবিসিএস

সম্পূর্ণ প্রোগ্রাম। Din {, ϕ₂ for এবং তারপরে {λ₁, λ₂} এর জন্য স্ট্যান্ডিন প্রম্পট দেয়} ছদ্মবেশে প্রিন্ট।

R acos (sin ϕ₁ sin ϕ₂ + cos (λ₂ - λ₁) cos ϕ₁ cos ϕ₂) সূত্রটি ব্যবহার করে

1737ׯ2○+/(2○-/⎕)×@2×/1 2∘.○⎕

এটি অনলাইন চেষ্টা করুন! ( rফাংশনটি ডিগ্রিগুলিকে রেডিয়ানে রূপান্তর করে)


 pt ϕ₁, ϕ₂ for এর জন্য প্রম্পট

1 2∘.○ কার্টেসিয়ান ট্রিগ-ফাংশন অ্যাপ্লিকেশন; {{পাপ ϕ₁, পাপ ϕ₂}, {কোস ϕ₁, কোস ϕ₂}}

×/ সারি অনুসারে পণ্য; {পাপ ϕ₁ পাপ ϕ₂, কোস ϕ₁ কোস ϕ₂

()×@2 দ্বিতীয় উপাদানটিতে, নিম্নলিখিতটি দিয়ে তার দ্বারা গুণ করুন:

 pt λ₁, λ₂ for এর জন্য প্রম্পট

-/ তাদের মধ্যে পার্থক্য; λ₁ - λ₂

2○ এর কোসাইন; কোস (λ₁ - λ₂)

এখন আমাদের কাছে {পাপ ϕ₁ পাপ ϕ₂, কোস (λ₁ - λ₂) কোস ϕ₁ কোস ϕ₂ have

+/ যোগফল; sin ϕ₁ sin ϕ₂ + cos (λ₁ - λ₂) cos ϕ₁ cos ϕ₂ ϕ₂

¯2○ এর কোসাইন; কোস (পাপ ϕ₁ পাপ ϕ₂ + কোস (λ₁ - λ₂) কোস ϕ₁ কোস ϕ₂)

1737× যে দ্বারা গুন r; 1737 কোস (পাপ ϕ₁ পাপ ϕ₂ + কোস (λ₁ - λ₂) কোস ϕ₁ কোস ϕ₂)


ডিগ্রিগুলিতে ইনপুটটিকে অনুমতি দেওয়ার ফাংশনটি হ'ল:

○÷∘180

÷180 180 দ্বারা বিভক্ত যুক্তি

 by দ্বারা গুণ


1

সি (জিসিসি) , 100 88 65 64 বাইট

@ মাইলসের সূত্রটি ব্যবহার করে 88 '65 @ নীলের সূত্র
ব্যবহার করে 65 → 64

#define d(w,x,y,z)1737*acos(cos(w-y)+cos(w)*cos(y)*(cos(z-x)-1))

এটি অনলাইন চেষ্টা করুন!


আমি বিশ্বাস করি যে -lmসংকলক পতাকার জন্য আপনাকে দুটি বাইট যুক্ত করতে হবে ।
ওব্লান্স

@ ওউবালেন্স: পতাকাটির উপস্থিতি সর্বদা প্রয়োজন হয় না। এটি কীভাবে সিস্টেমে সংকলকটি ইনস্টল করা হয়েছিল তার উপর নির্ভর করে।
jxh

ঠিক আছে. অনুমান করার অর্থ এই যে আমি আমার এই উত্তরে দুটি বাইট বিয়োগ করতে পারি: কোডগলফ.স্ট্যাকেক্সেঞ্জাও.এ / 161452/79343 ধন্যবাদ।
ওবিল্যান্স

@ ওউবালেন্স: উত্তরে উত্তীর্ণ আমি আমার নিজস্ব সমাধানও জমা দিয়েছি।
jxh

খুশী হলাম। আপনারও উত্সাহিত।
ওব্লান্স

1

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

=1737*ACOS(COS(A1-C1)+COS(A1)*COS(C1)*(COS(D1-B1)-1))

@ নীলের সূত্র ব্যবহার করে। রেডিয়ানদের ইনপুট।


1

লবস্টার , 66 বাইট

def h(a,c,b,d):1737*radians arccos a.sin*b.sin+a.cos*b.cos*cos d-c

মাইলের সূত্র ব্যবহার করে তবে ইনপুটটি ডিগ্রিতে থাকে। এটি ব্যাসার্ধ দ্বারা গুণিত করার আগে রেডিয়ানে রূপান্তর করার অতিরিক্ত ধাপ যুক্ত করে।




1

স্মাইলব্যাসিক, 60 বাইট

INPUT X,Y,S,T?1737*ACOS(COS(X-S)+COS(X)*COS(S)*(COS(T-Y)-1))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.