गणित के बिना आउटपुट Pi [बंद]


56

संभव के रूप में कुछ बाइट्स में, आपका काम एक प्रोग्राम लिखना है जो आउटपुट देता है:

3.14

निश्चित रूप से देर से पी के दिन के जश्न में! :)

नियम

आप इसे वैसे भी कर सकते हैं जिसे आप पसंद करते हैं, लेकिन कुछ प्रतिबंध हैं।

  • आप अपने कार्यक्रम में कहीं भी अंकगणितीय संचालन का उपयोग नहीं कर सकते हैं । इसमें शामिल हैं +, -, *, /, %, ^(घातांक), आदि ... यह भी incrementing भी शामिल है (आमतौर पर ++), (decrementing --,) बिटवाइज़ संचालन , और किसी भी कार्यों में बनाया गया जैसे एक स्थानापन्न के रूप में इस्तेमाल किया जा सकता है कि sum(), prod(), mod(), double(), pow(), sqrt(), inc(), dec()आदि ... (लेखक का विवेक)
  • आपके कोड में अंक 3, 1और कहीं भी प्रकट नहीं4 हो सकते हैं
  • आप कर सकते हैं नहीं किसी भी पूर्वनिर्धारित वैरिएबल / स्थिरांक अपनी भाषा के लिए एक स्थानापन्न के रूप में हो सकता है का उपयोग करें 3, 1और 4। (लेखक का विवेक)
  • आप यह भी हो सकता है नहीं इस तरह के रूप में किसी भी त्रिकोणमितीय कार्यों का उपयोग sin(), cos(), tan(), arcsin(), arccos(), arctan(), sinh(), cosh(), tanh(), आदि ... (लेखक के विवेक)
  • आप Pi (या ) के अंतर्निहित या पूर्वनिर्धारित मूल्यों का उपयोग नहीं कर सकते हैं3.14कोई वेब अनुरोध नहीं
  • आपके प्रोग्राम को किसी भी प्रकार के इनपुट की आवश्यकता नहीं है (इसे चलाने के अलावा)।
  • 3.14है केवल बात यह है कि आप उत्पादन, है ना कुछ लंबे समय तक / बड़ा उत्पादन का हिस्सा हो सकता सकता है ..

विजेता

18 अप्रैल को कम से कम बाइट्स के साथ उत्तर जीतता है। सौभाग्य!

चतुर मन से चतुर उत्तर की प्रतीक्षा में! किसी को मालामाल कर दो? : पी


3
आप स्पष्ट करना चाहते हैं कि ^प्रतिपादक ऑपरेटर है, न कि बिटवाइस XOR ऑपरेटर।
ace_HongKongInd डिपेंडेंस

2
क्या बिटकॉइन ऑपरेटरों को अनुमति है?
प्रोग्रामफॉक्स

1
@ProgramFOX खैर, उन्हें सामान्य ऑपरेशन के प्रतिस्थापन के रूप में इस्तेमाल किया जा सकता है, इसलिए, नहीं। अनुमति नहीं हैं। मैं पोस्ट को संपादित करूँगा।
kukac67 16

1
वेब अनुरोधों की अनुमति है?
बेंत की मार

7
@swish: मैं वेब अनुरोधों का उपयोग नहीं करूंगा, क्योंकि यह मानक "खामियों"
ProgramFOX

जवाबों:


25

सीजाम - 8 6

S`,'.E

CJam एक नई भाषा है, जिसे मैं विकसित कर रहा हूं, जैसे कि GolfScript - http://sf.net/p/cjam
यहाँ स्पष्टीकरण है:

Sएक वैरिएबल है जो अंतरिक्ष में "(" ")
`अंतिम मान के स्ट्रिंग प्रतिनिधित्व को उत्पन्न करता है - जो कि वास्तव में " "(3 वर्ण)
,स्ट्रिंग की लंबाई की गणना करता है (3)
'.है डॉट वर्ण
Eएक चर है जो 14 के लिए प्रांतीय है; 3, 1 और 4 की अनुमति नहीं है लेकिन यह 14 के बारे में कुछ नहीं कहता है :)

बैकटिक विचार के लिए डोरकोनोब को श्रेय


1
@ ब्रिलियनड मैं इसके उपयोग को स्वीकार करूंगा E
kukac67

6
@ kukac67 जबकि मैंने अभी तक कोई आधिकारिक रिलीज़ नहीं की है (आज आ रही है), मैंने पहले ही वर्तमान सीजेएम कोड एचजी के माध्यम से उपलब्ध करा दिया है। यदि आपको प्रश्न पोस्ट करने से 1 दिन पहले CJam कोड मिलता है, तो यह मेरे प्रोग्राम को सही ढंग से चलाएगा (इसलिए मैंने इस समस्या को हल करने के लिए बदलाव नहीं किए हैं)। लेकिन मैं वास्तव में वैसे भी बुरा नहीं मानूंगा।
१०'१४ को एडिट्स

33
HQ9 + π विकसित करने का समय ...
Nzall

2
@AnonymousPi प्रत्येक व्यक्ति अपने द्वारा चुने गए उत्तरों के लिए मतदान करने के लिए स्वतंत्र है। हो सकता है कि वे अन्य उत्तरों से अधिक प्रभावित हों, भले ही वे कम न हों।
एडिट्स

2
आपके पास 14 के लिए एक चर का प्री-मंडलीकरण क्यों है?
user2357112

113

PHP - 22 बाइट्स

<?=date('n.j',8899e5);

वर्ष 1998 में पाई दिवस वास्तव में अच्छा था!


13
@ kukac67: n.jप्रारूप है, और 8899e51998 में 14 मार्च का यूनिक्स टाइमस्टैम्प है।
प्रोग्रामफॉक्स

7
यही कारण है इसलिए चतुर।
अमल मुरली

7
आप हटाकर 7 वर्णों को बचा सकते हैं ,8899e5। यह साल में एक बार सही होगा।
दामिर कासिपोविक

1
@Timo आप सही कह रहे हैं, लेकिन इसमें अवैध अंक "3";) शामिल हैं।
ब्लैकहोल

18
20 बाइट @Blackhole: <?=date('w.W',78e5);1 अप्रैल, 1970 में सप्ताह 14. बुधवार था
Primo

92

सी, 39

मान लेता है कि मशीन थोड़ा-सा एंडियन है और आईईईई फ्लोटिंग-पॉइंट मानक का उपयोग करता है।

main(){printf("%.2f",*(float*)"P@I@");}

मजेदार तथ्य यह है कि "P@I@"वास्तव में यह संबंधित नहीं है PIलेकिन इसके बराबर है 0x40494050जिसका प्रतिनिधित्व है3.144550323486328

http://ideone.com/uXVEtl


3
यह बहुत बढ़िया है।
3

1
आपका कोड एक छोटे से एंडियन मशीन पर टाइप-पिंगेट मानता है।
नयुकी

@NayukiMinase, हाँ आप सही हैं, यह इंगित करने के लायक है। और यह IEEE फ्लोटिंग-पॉइंट मानक के उपयोग को भी मानता है।
माइकल एम।

और इसमें अपरिभाषित व्यवहार होता है (वैराडिक कार्य का निहितार्थ)
rubenvb

5
यह कोड वास्तव में मानता है कि मशीन माइकल की मशीन :-) है।
कोनराड बोरोस्की

50

डीसी , 11 9 बाइट्स

zE[.]znPp
  • z स्टैक पर वर्तमान स्टैक डेप्थ (0) को पुश करें
  • Eपुश ई 16 (== 14 10 )
  • [.] स्ट्रिंग को पुश करें "।"
  • z स्टैक पर वर्तमान स्टैक डेप्थ (3) पुश करें
  • n पॉप 3 और संख्या के रूप में प्रिंट करें
  • Pपॉप "।" और चार के रूप में प्रिंट करें
  • p पॉप 14 और न्यूलाइन के साथ संख्या के रूप में प्रिंट करें

आउटपुट:

$ dc <<< zE[.]znPp
3.14
$ 

तो "इनपुट इनपुट बेस" एक ऑपरेटर है? यह एक अंकगणितीय ऑपरेशन की तरह खुशबू आ रही है, लेकिन शायद अभी भी मान्य है।
ब्रिलियनैड

@Brilliand कुछ भी नहीं है जो मैं उस प्रश्न में देखता हूं जो आधार रूपांतरण पर प्रतिबंध लगाता है। वास्तव में ओपी यहाँ एक टिप्पणी में आधार रूपांतरण को प्रोत्साहित करता प्रतीत होता है। codegolf.stackexchange.com/a/25681/11259
डिजिटल ट्रॉमा

मैं मानता हूँ कि यह मान्य है; मैं सिर्फ यह सोच रहा हूं कि जब आधार रूपांतरण संख्या सिंटैक्स के हिस्से के बजाय एक ऑपरेटर है, तो यह इनलाइन डेटा और एक अंकगणितीय ऑपरेशन के बीच की रेखा को धुंधला करता है।
ब्रिलियनड

मुझे लगता है कि यह 15 बाइट्स होना चाहिए?
पंजीकृत उपयोगकर्ता

9
@ आदित्यपति क्यों? dcएक भाषा और दुभाषिया है, यहाँ की अन्य सभी भाषाओं की तरह। dc -e बस उस दुभाषिया का आह्वान है। मैं आसानी से एक फ़ाइल और रन में 9-बाइट प्रोग्राम को आसानी से बचा सकता था dc pi.dc। यदि इन बाइट्स को गिनने की आवश्यकता है, तो उसी को अन्य सभी भाषाओं पर लागू करना होगा। उदाहरण के लिए python सभी अजगर प्रविष्टियों में या ruby golfscript.rb सभी गोल्फस्क्रिप्ट प्रविष्टियों में शामिल हैं। मेरा मानना ​​है कि यहां सहमत सम्मेलन को शामिल नहीं करना है, जब तक कि विशेष विकल्पों को पारित करने की आवश्यकता नहीं है।
डिजिटल ट्रामा

42

जावास्क्रिप्ट ( ईएस 5 ) 20 बाइट्स

M.buettner की JS समाधान की विविधता।

(x='.'+0xE).length+x

संपादित करें: जावास्क्रिप्ट ( ईएस 5 ) 18 बाइट्स

बेस 64 डिकोड फ़ंक्शन का उपयोग करने के कॉम्प्रिक के विचार का एक बदलाव।

atob('Mw')+'.'+0xE

संपादित करें: जावास्क्रिप्ट ( ईएस ५ ) १६ बाइट्स

अगर एक +संचालक को एक नंबर पर स्ट्रिंग देने की अनुमति दी जाती है, तो इसे कम किया जा सकता है:

+atob('MDMuMTQ')

वाह! यह वास्तव में चतुर है!
kukac67

9
@NateEldredge यह स्ट्रिंग संयोजन है, अंकगणित नहीं।
१०:१४ को

क्या +यहां स्वीकृत का उपयोग किया जाता है?
फुल्विक

1
मुझे लगता है कि जावास्क्रिप्ट समाधान सबसे सुरुचिपूर्ण है और मैं तब तक मेरा पोस्ट करने वाला था जब तक मैंने देखा कि इसमें '4' नहीं था: atob ('My4xNA =='), lol।
rdev5

1
@ डेनिस आप सही कह रहे हैं, यह अभी भी है। यह तब भी है जब मैं कंसोल से परिणाम कॉपी / पेस्ट करता हूं। मैं इससे खुश नहीं हूँ इसलिए मैं 16 बाइट समाधान के लिए वापस आऊंगा।
अंडरस्कोर

39

हास्केल, 41 बाइट्स

ऑस्ट्रेलिया में पाई दिवस कब है?

p=(\(a:n:y:t:i:m:e:_)->[m,a,t,e])['.'..]

जोड़ने के लिए संपादित: अन्य हास्केल उत्तर की तरह, जो एक स्ट्रिंग को आउटपुट करता है, इसलिए उद्धरण है। आप 33 स्कोर कर सकते हैं, और नियमों के भीतर सख्ती से पेश आ सकते हैं, लेकिन यह कम मजेदार है:

p=putStr$map([','..]!!)[7,2,5,8]

हाहा, वाह। यह अच्छा है!
Ry-

क्या आप बता सकते हैं कि यह क्यों काम करता है?
येजर

5
मुझे यह बहुत पसंद है, +1। लेकिन मुझे लगता है कि तकनीकी रूप से ".." वेतन वृद्धि ऑपरेटर को आमंत्रित कर रहा है, जिसे मना किया गया था। (वास्तव में upvoting भी एक वृद्धि ऑपरेशन को आमंत्रित करता है, इसलिए इसे भी मना किया जाना चाहिए ;-)
मार्क वैन लीउवेन

मैंने वास्तव में इसके बारे में सोचा था - मेरे पास एक भी छोटा जवाब था: p=[2.9,2.92..]!!([0,6..]!!2)... और इसमें कोई भी ..गलत नहीं है। लेकिन हास्केल दृढ़ता से टाइप किया गया है, और मेरे द्वारा दिए गए उत्तर में वृद्धि Charनहीं है Numऔर अंकगणित नहीं है-वह चीज जो वास्तव में प्रतिबंधित है। मुझे fromEnumउन्हें इस तरह से उपयोग करने के लिए संख्याओं को वापस संख्या में बदलने की आवश्यकता होगी । वैसे भी, मेरा ज़मीर साफ है :)
bazzargh

6
@yhager: ['।' ..] चार क्रम है "./0123456 ..." (आदि)। (a: n: y: t: i: m: e: _) एक पैटर्न मैच है जो पहले 7 अक्षरों को खींचता है, [m, a, t, e] उनमें से 4 को "3.14" में बदल देता है। यह जानना कि यह आप क्या करना चाहते हैं, शब्दों को सही संरचना के साथ खोजने के लिए यह खोज का विषय है। जो मैंने किया ... उदाहरण के लिए एक और जोड़ी "बदसूरत सूट" थी। फिर आप एक मजाक के साथ आते हैं :)
bazzargh

32

मोर्स कोड, 33 बाइट्स

morse -d ...-- .-.-.- .---- ....-

तकनीकी रूप से कहा जाए तो सूचना केवल 21 बाइट्स लेती है।


11
हमें निश्चित रूप से यहां मोर्स कोड में अधिक गोल्फ समाधान की आवश्यकता है ...
को चालू करना बंद कर दिया

26
तकनीकी रूप से, मैं 21 बिट्स कहूंगा , बाइट्स
माइकल एम।

14
@ मिचेल चूंकि मोर्स कोड या तो एक डॉट, डैश या स्पेस हो सकता है, क्या इसे 1 ऑपरेशन को स्टोर करने के लिए 1 बिट से अधिक की आवश्यकता नहीं होगी?
smcg

5
@smcg ButSpacesAreForWeakPeopleWhoCan'tReadThingsLikeThis
कोल जॉनसन

8
जितना मुझे मोर्स कोड पसंद है (और इसलिए यह समाधान) - लेकिन नियम 3 के खिलाफ ऐसा नहीं है: "आप किसी भी पूर्वनिर्धारित चर / स्थिरांक का उपयोग नहीं कर सकते हैं जो आपकी भाषा 3, 1 और 4 के प्रतिस्थापन के रूप में हो सकता है।" या यहां तक ​​कि नियम 2: "अंक 3, 1, और 4 आपके कोड में कहीं भी दिखाई नहीं दे सकते हैं।"
क्रेटेंको

27

जे - १५ ११ १० चार

शानदार का उपयोग करके इसे छोटा बना दिया i:

6{i:6.28j8

व्याख्या की:

  • 6.28j8 - जटिल संख्या 6.28 + 8i।
  • i:- यहां जादू पैदा होता है। i:एक जटिल संख्या A + Bi पर, B complex 0 अंतराल से [+, A] समान रूप से दूरी अंक B + 1 लेता है।
  • 6{ - इंडेक्स 6 में तत्व लें, जो ऐसा केवल 3.14 पर होता है।

पहले, हमारे पास निम्न बकवास थी:

|.'.'2}":22b8d5

विस्फोट से समझाया:

         22b8d5  NB. 8d5 in base 22 = 4163
       ":        NB. convert to string
  '.'2}          NB. change character at index 2 to '.'
|.               NB. reverse to make '3.14'

इसके बजाय |.'.'2}":22b8d5, आप 2 वर्णों को एक संख्या चुनकर बचा सकते हैं जिसमें उलटाव की आवश्यकता नहीं है:'.'1}":16bbc6
rationalis

3
@epicwisdom अंक 3, 1, और 4 प्रतिबंधित हैं। मुझे फॉर्म में एक संख्या का उपयोग करना होगा 41X3क्योंकि मुझे केवल सूचक 0 और 2 पर वर्णों को संशोधित करने की अनुमति है
एल्गोरिथमचर

20

लिनक्स कमांड लाइन, 35 बाइट्स

यह जीतने के पास कहीं नहीं है, लेकिन यहाँ यह इसके मज़े के लिए है:

ping -w2 67502862|grep -oP '.\..\d'

आउटपुट (2 सेकंड के बाद):

$ ping -w2 67502862|grep -oP '.\..\d'
3.14
$

प्रश्न से उद्धरण: "कोई वेब अनुरोध नहीं।"
दरवाज़े

9
@Doorknob ICMP इको रिक्वेस्ट! = वेब रिक्वेस्ट। बावजूद, पिंग 4.6.3.14 को है, जिसमें से मुझे कोई उत्तर नहीं मिलता है, इसलिए इसकी तरह मुझे इंटरनेट से कोई उपयोगी जानकारी वापस नहीं मिल रही है
डिजिटल ट्रॉमा

10
@Doorknob लेकिन अगर यह अभी भी आपको परेशान करता है, तो हम यह कर सकते हैं :;ping -t${#?} -qc2 67502862|grep -oP '.\..\d'। यह टीटीएल 1 को सेट करता है, इसलिए आउटगोइंग आईसीएमपी इको आपके राउटर द्वारा गिराया जाता है इससे पहले कि वह इंटरनेट पर कहीं भी
पहुंचता है

1
आप 9 एस का उपयोग करके बचा सकते हैं ping -w2 67502862। (निंजा संपादित करें क्योंकि इससे पहले कि मैं w1 को सलाह दे रहा था, लगभग नियमों को तोड़ दिया।)
लोलक

@ लोलक धन्यवाद। हालांकि, गोल्फ स्कोर में सुधार नहीं करता ;-)
डिजिटल ट्रामा

16

गोल्फस्क्रिप्ट, 18 13 12

'.'.`,\.,n`,

पुराना संस्करण:

'...','.'.,'....',

यह बहुत ही कलात्मक है, केवल 3 अद्वितीय चरित्र! ;)

यह काम किस प्रकार करता है:

# cmd   # stack
'...',  # 3
'.'.    # 3 '.' '.'
,       # 3 '.' 1
'....', # 3 '.' 1 4

यहाँ 12-वर्ण संस्करण (बहुत अधिक रोचक, IMO) का स्पष्टीकरण दिया गया है:

'.' # '.'
.`, # '.' 3
\.  # 3 '.' '.'
,   # 3 '.' 1
n`, # 3 '.' 1 4

यह काम करता है क्योंकि n`,है 4, के बाद से n`है '"\n"'। के लिए एक ही तर्क '.'`,। यह एक चार्ट को बचाने के लिए एक नया स्ट्रिंग बनाने के बजाय स्वैप भी करता है (धन्यवाद @ अल्लोरिद्मशर्क)।

वैकल्पिक संस्करण:

'pi ','.'.,'day!',

या

'Hi ','.'.,'PPCG',

या उन तार में कुछ भी, वास्तव में। : पी


केवल 3 अलग-अलग वर्ण, कूल :)
aditsu

'.'.`,\.,n`,एक चार को बचाने के लिए काम करेंगे ? '.'नकल करके और अदला- बदली करके।
एल्गोरिथमशार्क

@algorithmshark हां, धन्यवाद!
दरवाज़े

यह बहुत चालाक है! +1
VisioN

इस मोर्स कोड संस्करण की तरह दिखता है
pwned

14

ओपी का जवाब।

गणितज्ञ, २१ २०21

यह सस्ता लगता है ...

Range[2,5,.06][[20]]

या

Range[2,5,.02][[58]]

यह पता लगाने के लिए कि इसे 18 कैसे बनाया जाए:

Range[-.86,5][[5]]

हास्केल, 48 १२

(48 में नई पंक्ति का चरित्र शामिल है)

p=[-6..]
r=concat$show(p!!9):".":(show$p!!20):[]

rफ़ंक्शन को कॉल करके इसे चलाएं ।

उपरोक्त मैथेमेटिका के साथ विधि का उपयोग करके, आप इसे GHCi में टाइप कर सकते हैं:

[-2.86..]!!6

जावा, 87 86

class P{public static void main(String[]a){System.out.print("tri".length()+"."+0xe);}}

स्काला, २,

जावा से अनुवादित जैसा कि स्कोर_उंडर द्वारा सुझाया गया है । (मैं वास्तव में स्काला नहीं जानता)

print("tri".length+"."+0xe)

ओह, 0xeचतुर है। क्या आपको बुरा लगता है अगर मैं उसके साथ अपने जेएस उत्तर को बेहतर बनाता हूं? ;)
मार्टिन एंडर

अधिकांश जावा को सीधे स्कैला में परिवर्तित किया जा सकता है, जो आमतौर पर छोटा होता है यदि आप वास्तव में बाइट्स पर सहेजना चाहते हैं - यदि आप इसे स्क्रिप्ट के रूप में उपयोग कर रहे हैं, तो पूरी बात बस है: प्रिंट ("त्रि" .length + "।" + 0xe)
स्कोर_उंडर

हाँ, मैंने उसी चीज़ के बारे में सोचा, जो कि जूलिया में [-.86:5][5]11 के लिए छोटी है , लेकिन लगा कि यह गिनती नहीं है क्योंकि रेंज सिर्फ गणित हैं।
gggg

12

बैश, 50

मदद / त्रुटि संदेश बाहरी संसाधन नहीं हैं, वे एक कमांड के आउटपुट हैं!

अगर कुछ भी नियम का दुरुपयोग है, तो यह है। यह संयोग का उपयोग करता है कि STDERRसटीक कमांड द्वारा दिया गया मदद संदेश

ping6

314 वर्ण लंबा है (कम से कम Ubuntu 13.10 पर iputils-121221)। संपादित करें: मैं सराहना करता हूं कि यह मेरी अपेक्षा से बहुत कम पोर्टेबल है ...

m=`ping6|&wc -c`
false
o=$?
echo ${m:0:o}.${m:o:2}

पहली पंक्ति मदद संदेश की वर्ण लंबाई लेती है और इसे एक चर में संग्रहीत करती है।

जैसा कि मेरे अन्य जवाबों में, अगली कुछ पंक्तियाँ बाहर निकलने की स्थिति लेकर नंबर 1 प्राप्त करती हैं false(बहुत पोर्टेबल नहीं है लेकिन यह सब के बाद है!), फिर अंतिम पंक्ति में दशमलव बिंदु सम्मिलित करने के लिए उस मान का उपयोग करें।

आउटपुट: 3.14


आप साहब प्रतिभाशाली हैं
यहोशू

1
उह ओह, "2.81" उबंटू 12.04 पर (iputils-101006)। +1 सभी समान ;-)
डिजिटल ट्रामा

@ डिजीटलट्रूमा के अनुसार info ping6मेरे पास iputils-121221 है

chmodइस प्रश्न के बारे में my -useिंग उत्तर की भी जाँच कर लें codegolf.stackexchange.com/a/25724/16402

2
इससे भी कम:ping6|&wc -c|sed 's/./&./'
malkaroee

11

बैश + टीएक्स 28 बाइट्स

यदि आपके पास TeX स्थापित है:

tex -v|head -c8|cut -d\  -f2

सॉफ्टवेयर में सुधार के रूप में TeX की संस्करण संख्या asymptotically पीआई के पास जाती है। इसलिए, जैसे-जैसे समय बीतता है, आप अधिक से अधिक अंकों को प्रिंट करने के लिए इस (गैर-रूपांतरण) कार्यान्वयन का उपयोग कर सकते हैं!

tex -v|cut -d\  -f2 | head -n1

यह 2011 में 3.1415926 वापस मुद्रित; जनवरी 2014 तक, यह 3.14159265 प्रिंट करेगा।


मुझे यह पसंद है!
गनीउर्फ_ग्निउरफ

आप tex -v|grep -oP '.\..\d'4 बाइट बचाने के लिए उपयोग कर सकते हैं । (Regex DigitalTrauma के उत्तर से चुराया गया है ।) वैसे भी, +1 क्योंकि मैंने सिर्फ उसी उत्तर के बारे में सोचा था।
ace_HongKongInd डिपेंडेंस

10

जावास्क्रिप्ट, 20 बाइट्स

'...'.length+'.'+0xe

इसे कंसोल में उपयोग करें, ताकि परिणाम सीधे मुद्रित हो। अन्यथा, alert(...)एक और 7 वर्ण जोड़ देगा।

मेरे अन्य उत्तर के रूप में भी, मैंने देखा कि यह जेएस में बहुत छोटा है।

0xe14 के लिए उपयोग करने का विचार ओपी की तरह की अनुमति के साथ ओपी की सबमिशन से लिया गया है।


1
ठीक है, आप इसका उपयोग कर सकते हैं :)
kukac67 16

1
वैकल्पिक 20 बाइट समाधान:(x='.'+0xE).length+x
अंडरस्कोर

@nderscore है कि एक बहुत साफ विचार है। यदि आप एक और उत्तर के रूप में पोस्ट करते हैं, तो आपको मेरा अपवोट प्राप्त होगा;)
मार्टिन

10

GNU दिनांक, 17 बाइट्स

date -d2/5 +%u.%y

यह केवल इस वर्ष काम करने की गारंटी है, लेकिन मुझे इस बारे में नियमों में कोई सीमा नहीं दिखाई देती है; ;-)

+केवल इसके लिए प्रारूप निर्दिष्ट की शुरुआत इंगित करता है dateऔर एक अंकगणितीय जोड़ नहीं है। उसी के साथ -, जो इनपुट तिथि दर्शाता है।

आउटपुट:

$ date -d2/5 +%u.%y
3.14
$

only guaranteed to work this yearयह ठीक है .. :)
kukac67

10

बैश, 17 बाइट्स

tr 0 .<<<$[62#MC]

डैश, 41 बाइट्स

perl -pechomp,s/./$./<<$


..










.

बैश डैश समाप्त नहीं होने पर गायब एंडिंग मार्कर के बारे में जोर से शिकायत करेगा, इसलिए त्रुटि संदेशों के बिना बैश समाधान के लिए दो अतिरिक्त बाइट्स की आवश्यकता होगी।
डेनिस

साथ ही +1। मुझे लगता है कि @Doctor अपवोट बटन पर क्लिक करना भूल गया?
डिजिटल ट्रामा

@DigitalTrauma उफ़ ... तय
TheDoctor

7

बैश २३ २२

seq 2 .02 5|sed -n 58p

शैल (इतिहास विस्तार के बिना) २०

seq 2 .02 5|sed 58!d

seq 2 .06 5|sed -n 20pओपी के गणित के उत्तर में दिए गए अनुसार काम करता है।
user80551

sed 58!dथोड़ा छोटा है।
डेनिस

@ डेनिस वेर्ड, सूक्ति-टर्मिनल विकल्प जिसके !dसाथ dpkg ...अंतिम कमांड था जिसे मैंने चलाया था d। ठीक काम करता है, kshलेकिन zshकहता zsh: event not found: dहै कि निश्चित रूप से कुछ के लिए प्रतिस्थापित किया जा रहा है।
user80551

इसकी वजह है बैश का इतिहास विस्तार । यह स्क्रिप्ट के लिए डिफ़ॉल्ट रूप से अक्षम है, इसलिए यदि आप एक ही कमांड को अंदर pi.shऔर निष्पादित करते हैं bash pi.sh, तो यह ठीक काम करेगा।
डेनिस

6

अजगर, ३ ९ या २ or ४ or या ३४

(इतना नीचे नीचे करने के लिए स्कोर_उंडर का धन्यवाद)

print"%s.%s%c"%(len('aaa'),len('a'),52)

+ यहाँ स्ट्रिंग संघनन ऑपरेटर है, इसके अतिरिक्त नहीं।

0xeओपी से चाल की नकल करते हुए , यहाँ @psal की मदद से 28 वर्ण हैं

print('%X.%s'%(675,0xE))[2:]

पुराने संस्करणों:

print str(len('aaa'))+'.'+str(len('a'))+chr(52)

print str(len('aaa'))+'.'+str(0xe)

print"%s.%s"%(len('aaa'),0xe)

दूसरे को प्रिंट के बाद स्थान को हटाकर और स्ट्रै () के बजाय "% s" प्रारूप का उपयोग करके छोटा किया जा सकता है। print"%s.%s"%(len('aaa'),0xe)29 बाइट्स पर सी.एफ. आप पहले वाले को भी ऐसा कर सकते हैं: print"%s.%s%c"%(len('aaa'),len('a'),52)39 बाइट्स में।
स्कोर_उंडर

@Score_Under ओह, मैंने सोचा कि %sअभी भी उपयोग की आवश्यकता है str। टिप के लिए धन्यवाद :)
ace_HongKongInd डिपेंडेंस

1
एक और 29 बाइट्स समाधान:print('%s,%s'%(0xE9,0xE))[2:]
onionpsy

1
... और 28 बाइट्स में:print('%X.%s'%(675,0xE))[2:]
onionpsy

5

GolfScript, 8 बाइट्स

'??.'(\(

इस कार्यक्रम में गैर-मुद्रण योग्य ASCII वर्ण हैं, इसलिए इसे सीधे यहां चिपकाया नहीं जा सकता है। इसके बजाय, ऊपर दिए गए कोड में प्रश्न चिह्न को बाइट्स के साथ 03और 0Eहेक्साडेसिमल में बदला जाना चाहिए ।

सुविधा के लिए, यहां वास्तविक कार्यक्रम का एक हेक्स डंप है। यूनिक्स / लिनक्स उपयोगकर्ता इस हेक्स डंप xxd -rको प्रोग्राम को फिर से बनाने के लिए चला सकते हैं :

0000000: 2703 0e2e 2728 5c28                      '...'(\(

स्पष्टीकरण:

  • कार्यक्रम के पहले पांच बाइट्स ASCII कोड 3, 14 और 46 (= ASCII अवधि) के साथ तीन वर्णों को एन्कोडिंग एक एकल-उद्धृत स्ट्रिंग शाब्दिक बनाते हैं।

  • (स्ट्रिंग से पहले वर्ण को चॉप करता है और स्टैक पर इसके ASCII कोड (3) को धकेलता है। \स्टैक पर शीर्ष दो आइटमों को स्वैप करता है, स्ट्रिंग को शीर्ष पर वापस (खींचता है , और दूसरा स्ट्रिंग से किसी अन्य वर्ण को काटता है, फिर से स्टैक पर अपने एएससीआईआई कोड (14) को धक्का देता है।

कार्यक्रम के अंत में, स्टैक (खाली इनपुट स्ट्रिंग को छोड़कर) इसलिए इस तरह दिखता है:

3 "." 14

कार्यक्रम के अंत में, गोल्फस्क्रिप्ट दुभाषिया का डिफ़ॉल्ट व्यवहार वांछित आउटपुट को उपजते हुए, स्टैक पर सब कुछ स्ट्रिंग और प्रिंट करना है।


1
स्नैप! मेरे पास बिल्कुल यही विचार था , सिर्फ 12 घंटे बहुत देर हो गई। मुझे लगता है कि मुझे पोस्ट करने से पहले पेज 2 पढ़ना चाहिए ... ओह ठीक है, वापस रोलिंग, आप के लिए +1।
डेनिस

5

बैश - 39

हम सभी जानते हैं कि पाई के पहले कुछ अंकों की गणना निम्नलिखित कथन से की जा सकती है:

क्या मुझे कॉफी का एक बड़ा कंटेनर मिल सकता है

हमें केवल 2 दशमलव स्थानों की आवश्यकता है, है ना?

m=May
i=I
h=have
echo ${#m}.${#i}${#h}


4

पर्ल, 15 20 बाइट्स

print 05706=~s/0/./r
print 0xbc6=~s/0/./r

क्या पीआई__ पीआई से संबंधित किसी स्थिर चीज़ के बारे में नहीं है?
लेलमेडेडॉन

यह एक स्थिर नहीं है। यह दो तार XOR-ed है।
अंडरस्कोर

बिटवाइज़ ऑपरेटरों को अनुमति नहीं है।
kukac67 16

ओह, वे नहीं हैं। खैर, वहाँ मेरा काल्पनिक समाधान हो जाता है। उस ने कहा, अगर बिटवाइज़ ऑपरेटरों को अनुमति नहीं है, तो क्या स्ट्रिंग्स की गिनती की लंबाई के अलावा भी बहुत कुछ है?
लेलमेडेडॉन

कई उत्तर हैं जो विभिन्न आधारों में संख्याओं का उपयोग करते हैं।
kukac67 16

4

tr + बैश, 17 बाइट्स

tr a-j 0-9<<<d.be

यहाँ -वर्ण अंकगणितीय घटाव संचालक नहीं हैं। वे सीमा का संकेत देते हैं।

आउटपुट:

$ tr a-j 0-9<<<d.be
3.14
$

चतुर, हालांकि एक चरित्र अनुवाद वास्तव में छिपा हुआ अंकगणित है।
पियरे अरलाउड

@ArlaudPierre यह सच है, हालांकि मैं इस बात का तर्क दूंगा कि यहां सभी समाधानों में एक या दूसरे तरीके से अंकगणित छिपा है। यदि आप इनमें से किसी भी उत्तर के लिए निष्पादित वास्तविक मशीन निर्देशों को देखते हैं, तो मुझे लगता है कि सभी में कुछ बिटवाइज़ या अंकगणितीय निर्देश होंगे, जो प्रश्न द्वारा स्पष्ट उपयोग से प्रतिबंधित हैं ।
डिजिटल ट्रॉमा

@ArlaudPierre प्रश्न में आउटपुट के लिए स्ट्रिंग "3.14" की आवश्यकता होती है। भाषा के बावजूद, कहीं न कहीं हुड के तहत, यह एक write()कॉल या समान के लिए पतित होगा । बाइट्स की सही संख्या सुनिश्चित करने के लिए कवर के नीचे कुछ अंकगणित होना आवश्यक है, अगर कहीं और नहीं है। मुझे लगता है कि प्रश्न का बिंदु आवश्यक अंकगणित / बिटवाइज़ संगणनाएँ छिपाना है।
डिजिटल ट्रामा

4

BASH, 57

यह अधिकांश उत्तरों से अधिक लंबा है, लेकिन कोशिश करने में कुछ बुरा नहीं है।

f=`echo aaaaaaaaaaaaa|wc -c`;e=`echo aa|wc -c`;echo $e.$f

देता है

3.14

3
सभी के उत्तरों को फिर से गोल्फ करने के लिए क्षमा करें: P, इसी शिरा में जैसा कि मैंने पाया:c=wc\ -c;echo `$c<<<..`.`$c<<<''``$c<<<...`
Score_Under

4

सी, 36

main(){printf("%d\b.%o\b",' ','`');}

1
अगर हम इसे अपने उत्तर के साथ जोड़ते हैं, तो हम 34 का स्कोर पाने के लिए 2 बाइट बचा सकते हैं :main(){printf("%d\b.%d",' ',0xe);}
vsz

3

जावास्क्रिप्ट - 23 बाइट्स

atob('Mw')+atob('LjE0')

अंडरस्कोर करने के लिए धन्यवाद (उनकी टिप्पणियाँ देखें)!


नीस: DI को इस बारे में भी पता नहीं था
kukac67

यह 4हालांकि शामिल है;)
अंडरस्कोर

@nderscore आह! आप सही हे! किसी तरह btoa()पाने के लिए काम करेंगे 3.14?
kukac67 16

@ kukac67 बेस 64 कैरेक्टर सेट में एक अवधि नहीं होती है :(
nderscore

3
23 बाइट "कानूनी" संस्करण: atob('Mw')+atob('LjE0')और 14 बाइट "अवैध" संस्करण:atob("My4xNA")
अंडरस्कोर

3

सी#

 ((int)'ĺ').ToString("#\\.##");

or वर्ण 314 है, न कि पूर्व-परिभाषित चर या स्थिरांक। .ToString एक अंक, एक अवधि और फिर 2 और अंकों में आउटपुट को प्रारूपित करता है।


अच्छा है, लेकिन यह वर्तमान में आउटपुट नहीं करता है, और यह अनिवार्य नहीं है।
रूडी करशॉ

Console.Write (((int) 'एल') ToString ()। "# \\ ##।");
ग्रैक्स 32

3

गोल्फस्क्रिप्ट, १३ १०

{xy}.*'.'\

बेहतर संस्करण के लिए इल्मरी करोनन को धन्यवाद !

xऔर yप्रिंट न हो सकने वर्ण (देखें हैं http://www.asciitable.com/ अधिक जानकारी के लिए) क्रमश: ETXऔर SO, जो 3 और 14 को डिकोड।

यह कोड क्या स्पष्ट होना चाहिए।

नोट: निम्नलिखित नियम

You may not use any predefined variables/constants that your language may have as a replacement for 3, 1, and 4. (Author's discretion)

टूटा नहीं है, क्योंकि ASCII वर्ण न तो चर हैं, न ही स्थिरांक।


The digits 3, 1, and 4 may not appear anywhere in your code.,Your program cannot require input of any kind (besides running it).
user80551

अंक कहीं दिखाई नहीं देते हैं। कोई इनपुट नहीं है।
वेरेस

और आपका अंतिम कोड है ...?
user80551

{}.*.{}.*, और कोष्ठक के अंदर क्रमशः 2 गैर-मुद्रण योग्य वर्ण हैं, ( asciitable.com ) ETXऔरSO
वेरोस

2
आप इसे {xy}.*'.'\ (10 वर्णों) तक छोटा कर सकते हैं । मेरा अभी भी छोटा है, हालांकि। ;-) लेकिन +1 मुझे { }.*(और { }.%) के बारे में सिखाने के लिए , मुझे उस ट्रिक को ध्यान में रखना होगा।
इल्मरी करोनन

3

साइट पर नया और अभी तक टिप्पणी नहीं लिख सकता, इसलिए मैं इसे यहाँ पोस्ट करूँगा। बस इस जावास्क्रिप्ट समाधान के बारे में सोच रहा था:

'...'.length+'.'+0xe

और यह नियम:

3.14 केवल एक चीज है जिसे आप आउटपुट कर सकते हैं, यह कुछ लंबे / बड़े आउटपुट का हिस्सा नहीं हो सकता है।

यदि मैं इस कोड को अपने ब्राउज़र कंसोल में चलाता हूं, तो मुझे यह मिलता है:

"3.14"

या कमांड लाइन पर नोड का उपयोग कर:

'3.14'

लेकिन अगर मैं यह कोड चलाता हूं:

parseFloat('...'.length+'.'+0xe)

मुझे मिला:

3.14

.Js फ़ाइल चलाने के लिए Node.js का उपयोग करते हुए, मैं लिख सकता हूं:

console.log('...'.length+'.'+0xe)

और पाओ:

3.14

1
इस पर कोई सीमा नहीं थी कि परिणामी मूल्य किस प्रकार का हो सकता है। तो, स्ट्रिंग या संख्या कोई फर्क नहीं पड़ता। स्ट्रिंग के चारों ओर के उद्धरण को आउटपुट का हिस्सा नहीं माना जाता है।
19

CodeGolf और प्रोग्रामिंग पहेलियाँ @RobertMunn में आपका स्वागत है! यह उत्तर मान्य है क्योंकि यह सभी नियमों का पालन करता है ... ध्यान रखें कि consoleउन्हें प्रदर्शित करते समय उद्धरणों में तार लपेटने के लिए जाता है ... आपने उपयोग किया है, +लेकिन अंकगणितीय रूप से नहीं, इसका उपयोग एक समवर्ती के रूप में किया जा रहा है, इसलिए यह मान्य है ... आप इसके alertबजाय का उपयोग करके इसे छोटा बना सकते हैं console.log... लेकिन अन्यथा, महान प्रयास। हम आशा करते हैं कि आप इसे यहाँ पसंद करेंगे ...
WallyWest

यह बहुत अच्छा है! आपको भाषा और बाइट काउंट का नाम जोड़ने पर विचार करना चाहिए (जैसे जावास्क्रिप्ट, 20)
Vereos

1
धन्यवाद ऐस, मैं यहाँ केवल नियम सीख रहा हूँ। मैं एक टिप्पणी नहीं छोड़ सकता था इसलिए मैंने अलग से पोस्ट किया था, मुझे लगता है कि यह नियमों की तरह के पद पर स्पष्टीकरण से अधिक था, जो मेरे लिए अंडरस्कोर और वैलीवेस्ट ने स्पष्ट किया था। मैं एक newb के साथ सभी के धैर्य की सराहना करता हूं।
रॉबर्ट मुन्न

2

मैथेमेटिका, 56 बाइट्स

(l=ToString@StringLength@#&)@"..."<>"."<>l@"."<>l@"...."

ज्यादा नहीं कहना है। मैं अंकों को स्ट्रिंग लंबाई के रूप में उत्पन्न कर रहा हूं और उन्हें संक्षिप्त कर रहा हूं।

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