चंद्रमा पर दो बिंदुओं के बीच की दूरी


11

चंद्रमा पर दो बिंदुओं के अक्षांश / देशांतर को देखते हुए (lat1, lon1)और (lat2, lon2), किसी भी सूत्र का उपयोग करके किलोमीटर में दो बिंदुओं के बीच की दूरी की गणना करें, जो हैवेर्सिन सूत्र के समान परिणाम देता है।

इनपुट

  • lat1, lon1, lat2, lon2डिग्री (कोण) या में चार पूर्णांक मान
  • ϕ1, λ1, ϕ2, λ2रेडियन में चार दशमलव मान ।

उत्पादन

दो बिंदुओं के बीच किलोमीटर में दूरी (किसी भी सटीक या गोल पूर्णांक के साथ दशमलव)।

हैवरसाइन सूत्र

d = 2 r \ arcsin \ left (\ sqrt {\ sin ^ 2 \ left (\ frac {\ phi_2 - \ phi_1} {2} \ right) + \ cos (\ phi_1) \ cos (\ phi_2) \ sin ^ 2 \ छोड़ दिया (\ frac {\ lambda_2 - \ lambda_1} {2} \ right)} \ दाएँ)

कहाँ पे

  • r क्षेत्र की त्रिज्या है (मान लें कि चंद्रमा की त्रिज्या 1737 किमी है),
  • ϕ1 रेडियंस में बिंदु 1 का अक्षांश
  • ϕ2 रेडियंस में बिंदु 2 का अक्षांश
  • λ1 रेडियंस में बिंदु 1 का देशांतर
  • λ2 रेडियंस में बिंदु 2 का देशांतर
  • d दो बिंदुओं के बीच की गोलाकार दूरी है

(स्रोत: https://en.wikipedia.org/wiki/Haversine_formula )

अन्य संभावित सूत्र

उदाहरण जहां निविष्टियाँ पूर्णांक के रूप में डिग्री और आउटपुट हैं

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
उस विशेष सूत्र का उपयोग करना एक अप्रमाणित आवश्यकता है। यह काफी एक ही परिणाम के रूप में है कि सूत्र देने के लिए नहीं है जाएगा दे सकता है?
14

1
क्या हम रेडियंस में इनपुट ले सकते हैं?
14

1
@mdahmoune ठीक है, इसलिए आपने आसानी से लिखने के लिए डिग्री में सूचीबद्ध किया है, लेकिन क्या हमें रेडियन में इनपुट की आवश्यकता हो सकती है ? अन्यथा यह चुनौती कोण रूपांतरण और मुख्य चुनौती का कॉम्बो (जो खराब है) बन जाती है।
Adám

5
मैंने इस प्रश्न को अस्वीकार कर दिया है क्योंकि ऐसा लगता है कि 'किसकी भाषा इस सूत्र को सबसे अधिक प्रभावित कर सकती है', जो, मेरी राय में, विशेष रूप से दिलचस्प नहीं है।
15:27 बजे caird coinheringaahing

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
@JonathanAllan नहीं वे नहीं हैं। यह मेरे लिए बहुत गूंगा है, लेकिन त्रिज्या के लिए डिफ़ॉल्ट तर्क पृथ्वी के मीटर में है इसलिए यह उस समय तार्किक था, योग्य
Giuseppe

ध्यान दें कि विशेष रूप से छोटी दूरी के लिए कोजाइन का गोलाकार कानून संख्यात्मक रूप से स्थिर नहीं है। शायद गणितज्ञों में यह ठीक है , लेकिन आर और अधिकांश अन्य भाषाओं में यह बहस का विषय है कि क्या "कोई भी सूत्र जो हावरसाइन सूत्र के समान परिणाम देता है" कसौटी पर खरा उतरता है।
को बंद कर दिया

@ceasedtoturncounterclockwis मैंने ज्यादातर इसे बेस आर में रखने के लिए शामिल किया। मुझे लगता है कि एक मनमाना सटीक फ्लोटिंग पॉइंट लाइब्रेरी का उपयोग करके प्रभाव को कम किया जाएगा।
Giuseppe

हाँ, या स्थिर सूत्र का उपयोग करके, जैसे कहना है, ह्वेयरिन सूत्र ...
को बंद करने के लिए


5

जावास्क्रिप्ट (ईएस 7), 90 बाइट्स

नोट: @ OlivierGrégoire की पोस्ट देखें को बहुत छोटे समाधान के लिए देखें

TFeld के उत्तर का सीधा पोर्ट । रेडियंस में इनपुट लेता है।

(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 बाइट @miles के छोटे एल्गोरिथ्म का उपयोग करते हुए :(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
74 बाइट्स @ नाइल के छोटे एल्गोरिथ्म का उपयोग :(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, λ₁} और सही तर्क के रूप में {, λ as} लेता है।

उपयोग सूत्र 2 r √ (sin² ( (φ₁-φ₂) / 2 ) + क्योंकि φ₁ क्योंकि φ₂ sin² ( (λ₁ - λ₂) / 2 ))

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

इसे ऑनलाइन आज़माएं! ( rसमारोह रेडियंस के लिए डिग्री धर्मान्तरित)


 संगत तत्व; {{₁, ϕ₂}, {λ, λ}}}

 पहले उठाओ; {ϕ₂, ϕ₁}

 फिर

2×.○ उनके कोसाइन का उत्पाद; cos ϕ₁ कॉस
। लिट। डॉट "उत्पाद" लेकिन ट्रिगर फ़ंक्शन चयनकर्ता (2 कोसाइन) के बजाय गुणा और गुणा के बजाय प्लस है

1, उस के लिए prepend 1; {{, Cos ϕ₁ cos ϕ₁}

( उस फ़ंक्शन को {, λ and} और {ϕ₂, λ:} के लिए निम्नलिखित फ़ंक्शन को लागू करने के परिणाम से गुणा करें:

- उनके मतभेद; {ϕ₂ - ϕ₁, λ₁ - λϕ₂}

2÷⍨ 2 से विभाजित करें; { (Φ₁ - φ₂) / 2 , (λ₁ - λ₂) / 2 }

1○ उस की साइन; {पाप ( (φ₁ - φ₂) / 2 ), पाप ( (λ₁ - λ₂) / 2 )}

×⍨ वर्ग जो (स्व। गुणा); {sin² ( (φ₁ - φ₂) / 2 ), sin² ( (λ₁-λ₂) / 2 )}

अब हमारे पास {sin² ( (φ₁ - φ₂) / 2 ), क्योंकि φ₁ क्योंकि φ₂ sin² ( (λ₁ - λ₂) / 2 )}

1⊥ राशि जो (आधार -1 में दिए गए मूल्यांकन); sin² ( (φ₁-φ₂) / 2 ) + क्योंकि φ₁ क्योंकि φ₂ sin² ( (λ₁ - λ₂) / 2 )

.5*⍨ उस के वर्गमूल (जलाया कि एक आधा की शक्ति को बढ़ाएँ)

¯1○ उस की चापलूसी

3474× इससे गुणा करें


डिग्री में इनपुट की अनुमति देने का कार्य है:

○÷∘180

÷180 तर्क 180 से विभाजित

 π से गुणा करें


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

@ म्हदामौने, धन्यवाद, अद्यतन
TFeld

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.करता था m., बजाय छोड़ने returnऔर Mathसीधे उपयोग के ।
-6 का उपयोग कर बाइट्स @Neil के छोटे सूत्र

इसे ऑनलाइन आज़माएं।

स्पष्टीकरण:

(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

जरूरी नहीं कि अन्य उत्तरों के समान ही सटीक हो, लेकिन लड़का क्या मैंने इस के साथ मजाक किया था। मुझे विस्तृत करने की अनुमति दें।
जबकि अधिकांश भाषाओं में, यह चुनौती काफी सीधी है, जाप की दुर्भाग्यपूर्ण संपत्ति है कि न तो आर्सेनिन के लिए कोई अंतर्निर्मित है और न ही धनुषाकार। ज़रूर, आप जावास्क्रिप्ट को Japt में एम्बेड कर सकते हैं, लेकिन यह वही होगा जो कभी फेंग शुई के विपरीत होता है।

इस मामूली उपद्रव को दूर करने के लिए हमें बस इतना करना होगा कि वे लगभग शत्रु हैं और हम जाने के लिए अच्छे हैं!

पहला भाग वह सब कुछ है जो आर्कोसिन में खिलाया जाता है।

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। चूंकि 1737ISO-8859-1 के लिए चार-कोड नहीं है, इसलिए यह UTF-8 में बदल जाता है, जिसकी लागत अधिक होती है। आप इसके बजाय 173+ के लिए चार-कोड का उपयोग कर सकते हैं 7ethproductions.github.io/japt/?v=1.4.5&code=I603&input=
ओलिवर

आप ,आफ्टर ToMP:-)
ऑलिवर

@ ओलिवर बहुत बहुत धन्यवाद, कोष्ठक मेरे मूल संस्करण में आवश्यक थे, लेकिन अप्रचलित हो गए जब इसे थोड़ा सा घेरते हुए, मैं पूरी तरह से इसे याद कर लिया। एन्कोडिंग बात के बारे में भी नहीं पता था, इसके लिए बहुत बहुत धन्यवाद।
Nit

1
यदि आप जावास्क्रिप्ट मार्ग पर जाना चाहते हैं, तो ध्यान रखें कि आप सब कुछ shoco के माध्यम से चला सकते हैं।
ओलिवर


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))}
केविन Cruijssen

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

मैपिंग टूलबॉक्स के साथ MATLAB, 26 बाइट्स

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

अनाम फ़ंक्शन जो चार इनपुट को सेल सरणी के रूप में लेता है, उसी क्रम में जैसा कि चुनौती में वर्णित है।

ध्यान दें कि यह सटीक परिणाम देता है (यह मानते हुए कि चंद्रमा त्रिज्या 1737 किमी है), क्योंकि 1737/180बराबर है 9.65

मतालब R2017b में उदाहरण रन:

यहाँ छवि विवरण दर्ज करें


1

पायथन 3, 79 बाइट्स

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

TIO में जियोफाईडोम नहीं है


2
@ ठीक है, मेरी समझ में यह है कि सार्वजनिक रूप से उपलब्ध लाइब्रेरी का उपयोग करना उचित खेल है जो प्रश्न से पहले होता है। मुझे लगता है कि यह MATLAB के मैपिंग टूल, या गणित लाइब्रेरी का उपयोग करने वाली अन्य भाषाओं का उपयोग करने जैसा है।
रूटट्वो

1

एपीएल (Dyalog यूनिकोड) , 29 बाइट्स SBCS

पूरा कार्यक्रम। {Φ₁, st} और फिर {λ, λdin} के लिए स्टड संकेत देता है। प्रिंट करने के लिए प्रिंट।

सूत्र आर एकोस (पाप ϕ₁ पाप cos + कॉस (λ - λ r) कॉस ϕ₂ कॉस () का उपयोग करता है

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

इसे ऑनलाइन आज़माएं! ( rसमारोह रेडियंस के लिए डिग्री धर्मान्तरित)


 {ϕ₁, ϕ₁} के लिए संकेत

1 2∘.○ कार्तीय ट्रिगर-फ़ंक्शन अनुप्रयोग; {{पाप ϕ₁, पाप,}, {cos ϕ₁, cos}}}

×/ पंक्ति-वार उत्पाद; {पाप ϕ₂ पाप ϕ₂, cos ϕ₁ cos ϕ₁}

()×@2 दूसरे तत्व पर, इसके बाद निम्न को गुणा करें:

 {λ for, λ₂} के लिए संकेत

-/ उन दोनों के बीच अंतर; λ - λ₂

2○ उस का कोसाइन; cos (λ₁ - λ₂)

अब हमारे पास {sin ϕ₂ sin ϕ₁, cos (λ - λ cos) cos ϕ₂ cos ϕ₂} है

+/ योग; sin ₁ sin ϕ₁ + cos (λϕ₁ - λ cos) कॉस ϕ₂ कॉस ϕ₂

¯2○ उस का कोसाइन; cos (sin (sin ϕ₁ + cos (λ - λ cos) cos ϕ₁ cos ϕ₁)

1737× उस से गुणा करें; 1737 cos (पाप ϕ₁ पाप ϕ₂ + cos (λ - λ cos) cos ϕ₂ cos ϕ₁)


डिग्री में इनपुट की अनुमति देने का कार्य है:

○÷∘180

÷180 तर्क 180 से विभाजित

 π से गुणा करें


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संकलक ध्वज के लिए दो बाइट्स जोड़ने की आवश्यकता है ।
OOBalance

@Oobalance: ध्वज की उपस्थिति की हमेशा आवश्यकता नहीं होती है। यह इस बात पर निर्भर करता है कि सिस्टम पर संकलक कैसे स्थापित किया गया था।
jxh

ठीक है। इसका मतलब यह है कि मैं इस जवाब पर दो बाइट्स घटा सकता हूं: codegolf.stackexchange.com/a/161452/79343 धन्यवाद।
OOBalance

@Oobalance: उत्तर अपग्रेड किया गया। मैंने अपना समाधान भी प्रस्तुत किया।
jxh

अच्छा लगा। तुम्हारा भी उत्थान किया।
OOBalance

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))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.