रोटेशन की संख्या


10

कार्य

किसी दिए गए दूरी की यात्रा करने के लिए पहिया द्वारा आवश्यक घुमावों की संख्या का पता लगाने के लिए एक फ़ंक्शन या एक प्रोग्राम लिखें, इसकी त्रिज्या दी।

नियम

इनपुट 2 सकारात्मक तर्कसंगत संख्याएं हो सकती हैं और किसी भी सुविधाजनक प्रारूप में ली जा सकती हैं।

दोनों इनपुट एक ही यूनिट के हैं।

आपके कोड में कोई अंक 0-9 नहीं होना चाहिए।

आउटपुट एक पूर्णांक होगा (फ्लोट के मामले में, अनंत के लिए गोल)

यह कोड-गोल्फ है इसलिए सबसे छोटा कोड जीतता है

उदाहरण

distance radius  output
10       1       2
50       2       4
52.22    4       3
3.4      0.08    7
12.5663  0.9999  3

5
आपको शायद जोड़ना चाहिए कि संकलक विकल्पों (या कहीं और) में भी अंकों को निषिद्ध किया जाता है: यदि आप इस बाधा को केवल कोड करने के लिए सीमित करते हैं, तो जीसीसी के साथ हम -DP=3.14संकलक झंडे में ऐसा कुछ कर सकते हैं , जो कि Pपीआई के सन्निकटन के रूप में परिभाषित होगा , जो संभवतः है आपने जो इरादा नहीं किया
Annyo

जवाबों:



4

एपीएल + विन, 9 बाइट्स

दूरी के बाद त्रिज्या के लिए संकेत:

⌈⎕÷○r+r←⎕

इसे ऑनलाइन आज़माएं! दरियाल क्लासिक के सौजन्य से

स्पष्टीकरण:

○r+r←⎕ prompt for radius and double it and multiply by pie

⌈⎕÷ prompt for distance, divide by result above and take ceiling

⌈⎕÷○+⍨⎕7 बाइट्स के लिए काम करता है।
जे। सेले

@ जे। साले धन्यवाद लेकिन दुर्भाग्य से मेरे प्राचीन एपीएल + विन इंटरप्रेटर में 'ऑपरेटर नहीं है
ग्राहम

4

जावा 8, 32 30 बाइट्स

a->b->-~(int)(a/b/Math.PI/'')

\u0002एकल उद्धरणों के बीच अप्रतिहत होता है ।

पोर्ट ऑफ @ जोकिंग के पर्ल 6 का उत्तर

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


क्या आपके कोड में अंक '1' है? मुझे लगता है कि अनुमति नहीं दी जा सकती है।
ouflak

4
@ouflak लगता है कि इसे इस तरह तय किया जा सकता है ।
निकोलग्राफर

@ouflak Woops, यह एक बहुत ही बेवकूफी भरी गलती थी .. इस अचूक का उपयोग करते हुए कि मैं अंक का उपयोग न करूं 2, और फिर बस अंकों का उपयोग करूं 1... सौभाग्य से एरिक वास्तव में सही है कि एक साधारण नकारात्मक एक्री का उतना ही प्रभाव होता है जितना +1(अक्सर उपयोग किया जाता है) कोष्ठक से छुटकारा पाने के लिए क्योंकि नकारात्मक और एकात्मकता अन्य अन्य ऑपरेटरों की तुलना में अधिक पूर्वता है)।
केविन क्रूज़सेन

4

पर्ल 6 , 15 12 बाइट्स

-3 बाइट्स tjanks to nwellnhof मुझे ताऊ के बारे में याद दिलाते हुए

*/*/τ+|$+!$

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

अनाम जो भी लंबोदर सूत्र का उपयोग करता है (a/b/tau).floor+1। ताऊ दो गुना पाई है। दो अनाम चर $संख्या के लिए ज़ब्त किए जाते हैं 0, जिसका उपयोग संख्या +|0(बिटवाइज़ या 0) को फ़्लोर करने के लिए और एक को जोड़ने के लिए किया जाता है +!$(प्लस शून्य नहीं)।


आपके कोड में कोई भी अंक 0-9 नहीं होना चाहिए।
टाइटस

@ मैं विश्वास नहीं कर सकता कि मैं भूल गया। धन्यवाद, निश्चित!
जो राजा

क्या घातांक में अंकों की भी अनुमति है?
१ou

3

पायथन 2 , 47 45 44 43 बाइट्स

lambda l,r:l/(r+r)//math.pi+l/l
import math

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


  • -2 बाइट्स, दोष के लिए धन्यवाद
  • -1 बाइट, जोनाथन एलन को धन्यवाद

चूंकि इनपुट की गारंटी दोनों (कड़ाई से) सकारात्मक और तर्कसंगत है, हमने कभी भी सटीक संख्या में घुमाव की आवश्यकता के किनारे-मामले को नहीं मारा, इसलिए मुझे लगता है कि हम l/(r+r)//pi+l/lएक बाइट कर सकते हैं और बचा सकते हैं ।
जोनाथन एलन

@JonathanAllan धन्यवाद :)
TFeld

2

05AB1E , 6 बाइट्स

·/žq/î

पोर्ट ऑफ @flawr पायथन 2 टिप्पणी
क्रम में इनपुट लेता है radius, distance

इसे ऑनलाइन आज़माएं या सभी परीक्षण मामलों को सत्यापित करें

स्पष्टीकरण:

·         # Double the first (implicit) input
 /        # Divide the second (implicit) input by it
  žq/     # Divide it by PI
     î    # Ceil it (and output implicitly)



2

सी, 46 बाइट्स

f(float a,float b){return ceil(a/(b+b)/M_PI);}

मैं PPCG के लिए नया हूं, इसलिए मुझे यकीन नहीं है कि मुझे बाइट की गिनती में अन्य भागों को गिनना होगा, जैसे कि

include <math.h>

छत समारोह के लिए आवश्यक है, जो गिनती को 64 बाइट्स तक बढ़ा देगा


PPCG में आपका स्वागत है! यह एक अच्छा पहला उत्तर है। हां, आपको #includeअपनी बाइट कुल की ओर गिनने और पसंद करने की जरूरत है । एक ऑनलाइन टेस्ट सूट की एक कड़ी हमेशा सराहना की जाती है, यहां एक है जिसे आप अपनी पोस्ट में शामिल करने के लिए स्वतंत्र हैं: tio.run/…
OOBalance

इस चुनौती के लिए कोड में @Oobalance Digits की अनुमति नहीं है;)
Annyo

@Annyo मुझे पता था कि मैं कुछ भूल रहा था :(
OOBalance

2

कैथोलिक , 8 बाइट्स

ċ//ĊǓĊ`Ė

स्पष्टीकरण:

  /ĊǓĊ    divide the first input by the doubled second input
 /    `Ė  divide that by pi
ċ         ceil

नया संस्करण (पीआई बिल्डिन ने एक बाइट बनाया, डिवीजन पैरामीटर स्वैप किया गया), 5 बाइट्स

ċ/π/Ǔ



2

मठगोल्फ , 6 5 बाइट्स

∞/π/ü

@Flawr के पायथन 2 टिप्पणी का अर्ध-बंदरगाह ।
ऑर्डर में इनपुट लेता है radius distance

-1 बाइट क्योंकि ceilबिलिन को जोड़ा गया है, की जगह floor+1

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

स्पष्टीकरण:

        # Double the first (implicit) input
 /       # Divide the second (implicit) input by it
  π/     # Divide it by PI
    ü    # Ceil (and output implicitly)

2

सी (जीसीसी) , 45 47 45 बाइट्स

f(d,r,R)float d,r;{R=ceil(d/r/'G'/'\n'*'q');}

पाई का एक उचित अनुमान 355/113 है। चूंकि परिधि C = 2 * r * PI है, हम इसके बजाय pi उपयोग ताऊ का उपयोग कर सकते हैं, जो कि तब ~ 710/113 है। 710 के लिए सुविधाजनक कारक 2 * 5 * 71 होता है, जिसे कॉम्पैक्ट रूप से व्यक्त किया जाता है 'G' * '\n'हम r/rअनंत में गोलाई के लिए एक ( ) जोड़ते हैं ।

संपादित करें: मेरी चाल अपने स्वयं के अच्छे के लिए बहुत चालाक थी: बेशक यह विफल हो गया अगर दूरी परिधि के एक से अधिक थी।

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



2

आर , 39 32 बाइट्स

-7 बाइट्स ग्यूसेप के लिए धन्यवाद

function(d,r)ceiling(d/(r+r)/pi)

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

मुझे लगता है कि यह निश्चित रूप से गोल्फ हो सकता है, लेकिन मैं अभी इसके बारे में कुछ भी करने के लिए थोड़ा आलसी हूं


2

मिनट , 16 बाइट्स

/ tau / ceil int

उस क्रम में स्टैक पर रखी गई दूरी और त्रिज्या को लेता है। फिर ताऊ द्वारा राउंड, और int बनाता है।




1

जावास्क्रिप्ट (बैबेल नोड) , 25 बाइट्स

-2 बाइट्स का उपयोग करते हुए @flawr टिप्पणी = डी। -1 @ केविन से। -7 @ फागी से

a=>b=>-~(a/(b+b)/Math.PI)

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


सिर्फ a=>b=>Math.ceil(a/(b+b)/Math.PI)32 बाइट्स है। :)
केविन क्रूज़सेन




1

लुआ , 61 58 57 49 बाइट्स

function(s,r)return math.ceil(s/(r+r)/math.pi)end

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

किरिलल को धन्यवाद। -8 बाइट्स।


मैं लूआ को नहीं जानता (इसलिए शायद यह अभी भी बहुत लंबा है), लेकिन यह एक समारोह के रूप में छोटा प्रतीत होता है: 49 बाइट्स
Kirill L.

@KirillL।, मैं अभी भी यहाँ नियम सीख रहा हूँ। इनपुट पर ओपी की चुनौती बहुत खुली है। तो मेरा सवाल यह है कि क्या हमें बाइट की गिनती के खिलाफ आपके प्रोग्राम कॉल () को गिनना होगा? यदि नहीं, तो आपका निश्चित रूप से एक अच्छा हिस्सा है।
Novflak

यहां प्रस्तुत करने की एक बहुत ही सामान्य शैली एक अनाम फ़ंक्शन है (ताकि हमें नाम गिनना न पड़े, जब तक कि यह पुनरावर्ती न हो), जो इसके वापसी मूल्य से आउटपुट करता है। फ़ंक्शन कॉल और कंसोल के लिए वास्तविक मुद्रण के साथ पाद लेख अनुभाग तब मूल रूप से परिणामों की कल्पना करने के लिए उपयोग किया जाता है और आपके स्कोर की गणना नहीं करता है। BTW, आप पाद लेख में ओपी के अधिक उदाहरणों को जोड़ सकते हैं, ताकि उन्हें आसानी से एक साथ देखा जा सके। ध्यान दें कि कुछ मामलों में एक पूर्ण कार्यक्रम वास्तव में गोल्फ खिलाड़ी बन सकता है!
किरिल एल।


1

Tcl , 50 बाइट्स

proc N d\ r {expr ceil($d/(($r+$r)*acos(-$r/$r)))}

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


Tcl , 53 बाइट्स

proc N d\ r {expr ceil($d/(($r+$r)*acos(-[incr i])))}

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

एक पाई निरंतर या समारोह की कमी मुझे गोल्फ प्रतियोगिता खो देती है!


क्या मुझे प्रत्येक आउटपुट के अंत में .0 को निकालने की आवश्यकता है? यह मुझे अधिक बाइट्स का उपभोग करेगा!
सर्गियोल

1
[incr i]काफी चालाक है लेकिन मुझे लगता है कि आप इसका उपयोग कर सकते हैं $d/$dया $r/$rइसके बजाय।
डेविड

@ दाविद के विचार के लिए कुछ बाइट्स धन्यवाद!
सर्गिओल

1

पॉवरशेल, 53 52 51 बाइट्स

-1 बाइट के लिए धन्यवाद @mazzy
-1 बाइट के बाद मुझे एहसास हुआ कि मुझे param()ब्लॉक के बाद अर्धविराम की आवश्यकता नहीं है

param($d,$r)($a=[math])::ceiling($d/($r+$r)/$a::pi)

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

दो कमांडलाइन मापदंडों, दूरी -dऔर त्रिज्या से इनपुट लेता है -r


? param($d,$r);($a=[math])::ceiling($d/($r+$r)/$a::pi)
माज़ी


0

क्लोजर , 50 बाइट्स

(fn[a b](int(Math/ceil(/ a Math/PI(count"  ")b))))

एक अनाम फ़ंक्शन जो दो पूर्णांक aऔर bतर्कों के रूप में स्वीकार करता है: क्रमशः दूरी और पहिया का त्रिज्या।

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

(count " ")2a2πb


0

टीआई-बेसिक (83 श्रृंखला), 12 बाइट्स

-int(-Tmax⁻¹min(e^(ΔList(ln(Ans

त्रिज्या और में दूरी की एक सूची के रूप में इनपुट लेता है Ans, उदाहरण के लिए: {0.9999:12.5663:prgmX

e^(ΔList(ln(Ansउन दूरी के अनुपात को ले जाएगा, और min(इसे एक संख्या में बदल देगा। फिर हम विभाजित करते हैं Tmax, जो कि एक रेखांकन पैरामीटर है जो डिफ़ॉल्ट रूप से 2 default के बराबर है। अंत में, -int(-छत लेता है।


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