गोल्फ एक ट्रान्सेंडैंटल संख्या


46

परिभाषाएं

  • एक बीजीय संख्या एक संख्या है जो पूर्णांक गुणांक के साथ गैर-शून्य बहुपद का एक शून्य है। उदाहरण के लिए, का वर्गमूल 2बीजगणितीय है, क्योंकि यह एक शून्य है x^2 - 2
  • ट्रान्सेंडैंटल संख्या एक वास्तविक संख्या है जो बीजगणितीय नहीं है।

कार्य

आपको एक पारलौकिक संख्या चुननी है।

फिर, एक प्रोग्राम / फ़ंक्शन लिखें जो आपके चुने हुए ट्रांसेंडेंटल नंबर के दशमलव बिंदु के बाद एक सकारात्मक पूर्णांक nऔर आउटपुट n-th दशमलव अंक लेता है । आपको अपने सबमिशन में स्पष्ट रूप से बताना होगा कि किस ट्रांसेंडेंटल नंबर का उपयोग किया गया है।

आप 0-इंडेक्सिंग या 1-इंडेक्सिंग का उपयोग कर सकते हैं।

उदाहरण

e^2=7.389056098...एक पारलौकिक संख्या है। इस संख्या के लिए:

n output
1 3
2 8
3 9
4 0
5 5
6 6
7 0
8 9
9 8
...

ध्यान दें कि प्रारंभिक 7को अनदेखा किया गया है।

जैसा कि मैंने ऊपर उल्लेख किया है, आप अन्य पारलौकिक संख्या चुन सकते हैं।

स्कोरिंग

यह । बाइट्स में सबसे कम स्कोर जीतता है।


अलग-अलग उत्तर इस तथ्य को कैसे संभालते हैं कि पूर्णांक की एक सीमित संख्या होती है जिसे तर्क के रूप में इस्तेमाल किया जा सकता है? 0 एक स्वीकार्य उत्तर होगा क्योंकि एक पारलौकिक संख्या मौजूद है जिसका पहला अधिकतम अंक 0 है
WNG

1
@WNG भाषा में मनमानी सटीकता है। कोई अधिकतमक नहीं है।
लीक नून

1
@WNG आप इनपुट इंडेक्स को एक स्ट्रिंग के रूप में सोच सकते हैं, पूर्णांक नहीं, उन भाषाओं में जो मनमाने ढंग से बड़ी संख्या में नहीं हैं।
isaacg

जवाबों:


112

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

min

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

एक संख्या स्ट्रिंग लेता है, अपने सबसे छोटे अंक को सबसे छोटे वर्ण के रूप में आउटपुट करता है। उदाहरण के लिए, 254देता है 2। इन अंकों के साथ दशमलव शुरू होता है

0.0123456789011111111101222222220123333333012344444401234555550123456666012345678801234567

यह OEIS A054054 है

दावा: यह संख्या cपारलौकिक है

प्रमाण: ध्यान दें कि cबहुत विरल है: इसके लगभग सभी अंक शून्य हैं। ऐसा इसलिए है क्योंकि बड़े n, वहाँ उच्च संभावना nशून्य अंक है, जिससे शून्य का एक अंक न्यूनतम हो जाता है। इसके अलावा, cलगातार शून्य के लंबे रन हैं। हम एक मौजूदा परिणाम का उपयोग करते हैं, जिसमें कहा गया है कि इसका अर्थ cट्रांसेंडेंटल है।

इस गणित के बाद। प्रश्न के बाद , 'th nonzero अंक' Z(k)की स्थिति का प्रतिनिधित्व करते हैं , और उस nonzero अंक, के बीच एक पूरी संख्या और । फिर, हम का दशमलव विस्तार व्यक्त है, लेकिन केवल अशून्य अंक लेने, अधिक राशि के रूप में के रूप में की ।kcc_k19ck=1,2,3,...c_k/10^Z(k)

हम जॉर्ज लॉथर द्वारा इस उत्तर के परिणाम 4 का उपयोग करते हैं : cयदि यह अनंत है कि शून्य के कई रन हैं जो अब तक अंकों की संख्या का कम से कम एक निरंतर अंश हैं। औपचारिक रूप से, एक ε>0ऐसा होना चाहिए जो Z(k+1)/Z(k) > 1+εअसीम रूप से कई लोगों के लिए हो k। हम उपयोग करेंगेε=1/9

अंक के किसी भी संख्या के लिए d, ले kके साथ Z(k) = 99...99साथ dनौ। ऐसा kमौजूद है क्योंकि यह अंक cएक 9, और इतना गैर-शून्य है। 99...99इन संख्याओं को गिनने पर , सभी संख्याओं में एक शून्य अंक होता है, इसलिए यह शून्य के लंबे रन की शुरुआत को चिह्नित करता है c। अगले अशून्य अंकों तक नहीं है Z(k+1) = 1111...11के साथ d+1लोगों को। अनुपात Z(k+1)/Z(k)थोड़ा अधिक हो जाता है 1+1/9

यह dपरिणाम को लागू करते हुए, प्रत्येक के लिए स्थिति को संतुष्ट करता है ।


मैं प्रमाण देखने के लिए काफी उत्साहित हूं।
लीक नून

1
क्या यह अनुमति है? minखुद कोई इनपुट नहीं लेता है और न ही कोई आउटपुट प्रदान करता है, ऐसा कुछ जो प्रश्न द्वारा एक आवश्यकता लगती है। यकीन है, यह पूरे में महत्वपूर्ण कार्य है, लेकिन यह जनरेटर और प्रिंट स्टेटमेंट के बिना कुछ भी नहीं करता है, 'ऑनलाइन इसे आज़माएं'।
मस्त

6
@ मास्ट हां, समस्या यह है कि n को दिए गए n अंक को आउटपुट करें, दशमलव को उत्पन्न करने के लिए नहीं। टेस्ट कोड अंकों के अनुक्रम को दिखाने के लिए है। और एक अभिव्यक्ति जो फ़ंक्शन का मूल्यांकन करती है, जिसमें फ़ंक्शन शाब्दिक भी शामिल है, एक मान्य फ़ंक्शन सबमिशन है
xnor

1
रमणीय :)))
नूडल

38

पायथ, 1 बाइट

h

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

0.0123456789111111111122222222223 ...

यह ट्रान्सेंडैंटल है क्योंकि यह 1/9एक संख्या है जो संख्या के कम से कम एक निरंतर अंश की लंबाई के शून्य से फैला है। इस math.stackexchange उत्तर के आधार पर , इसका अर्थ है कि संख्या पारलौकिक है।

शून्य की हिस्सों अंकों से रहे हैं 100 ... 000करने के लिए 199 ... 999है, तो के अनुपात Z(k+1)के लिए Z(k)असीम अक्सर 2 है।

इस प्रकार, उपरोक्त संख्या माइनस 1/9ट्रान्सेंडैंटल है, और इसलिए उपरोक्त संख्या ट्रान्सेंडैंटल है।


1
ध्यान दें कि लिंक किए गए M.SE पोस्ट में पूछा गया प्रश्न इस संख्या पर लागू नहीं होता है, लेकिन जॉर्ज लोथर द्वारा उत्तर का बिंदु 4 करता है।
हेनिंग मैखोलम

16

पायथन 2 , 19 बाइट्स

lambda n:1>>(n&~-n)

N वें अंकों है 1 अगर एन की एक शक्ति है 2 और 0 अन्यथा।

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


3
मैं इसका उत्तर देने जा रहा था, लेकिन मुझे इसके पारगमन का कोई सबूत नहीं मिला। आपको क्या लगता है कि यह संख्या पारलौकिक है? n&~-n>0वैसे कम है।
orlp


1
@orlp फ्रेडहोम की संख्या
लीक नून

@ बोरलियन ठीक हैं, तो मुझे ओपी से पूछना होगा।
डेनिस

1
@ क्रॉसल इन
डेनिस

11

ब्रेनफक, 2 बाइट्स

,.

इसी तरह कुछ अन्य उत्तरों में, पहला दशमलव अंक लौटाता है और बाकी को अनदेखा करता है।



5

रेटिना, 4 बाइट्स

1!`.

इनपुट नंबर का पहला अंक लौटाता है। क्योंकि वह बंदरगाह इतना उबाऊ था, यहाँ कुछ और बंदरगाह हैं:

O`.
1!`.

(8 बाइट्स) इनपुट संख्या का न्यूनतम अंक लौटाता है।

.+
$*
+`^(11)+$
$#1$*
^1$

(25 बाइट्स) 1 रिटर्न अगर इनपुट नंबर 2 की शक्ति है।

.+
$*_

$.`
+1`.(\d*)_
$1
1!`.

(30 बाइट्स) चम्पारणे के स्थिर।


4

ब्रेकीलॉग 2, 7 बाइट्स

⟦₁c;?∋₎

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

Champernowne स्थिरांक के अंकों की गणना करता है (संभवतः अनुक्रमण समस्याओं के कारण दस की शक्ति, जो यहां स्पष्ट रूप से मायने नहीं रखता है)। मूल रूप से, यह केवल पूर्णांक को एक साथ मिलाता है, और फिर nth अंक लेता है ।


आपको आवश्यकता क्यों है ⟦₁?
लीक नून

@LeakyNun: क्योंकि अन्यथा हम 0 के साथ संख्याओं को बदलना शुरू कर देंगे, और आप ऐसा नहीं कर सकते क्योंकि 0123यह एक संख्या नहीं है (इसमें एक अग्रणी शून्य है, जो कि Brachylog की अवधारणा में फिट नहीं है कि एक संख्या क्या है)।

4

पायथन 2, 13 बाइट्स

इनपुट और आउटपुट स्ट्रिंग्स हैं।

lambda n:n[0]

दशमलव में लिखे जाने पर संख्या का nth अंक n का सबसे महत्वपूर्ण अंक होता है।


4
आपको यह शामिल करना चाहिए कि यह संख्या पारलौकिक क्यों है।
orlp

2
@orlp ऐसा लगता है कि xnor के संदर्भ को आसानी से यहां भी लागू किया जा सकता है - संख्या से 1/9 घटाएं और फिर Z (n + 1) / Z (n) ~ = 2 अनंत बार (10 ^ x और 2 * 10 ^ x के बीच) )।
feersum

4

MATL , 7 बाइट्स

4YA50<A

यह यहाँ दिए गए दो नंबरों में से पहले का उपयोग करता है जो 3 से विभाजित होता है (जो पारगमन बनाए रखता है ):

1.100110000000000110011 ...

इनपुट 1-आधारित है। इसे ऑनलाइन आज़माएं! या पहले 20 दशमलव देखें

व्याख्या

4YA     % Convert to base 4 using chars '0', '1', '2', '3' as digits
50<A    % Are all digits less than '2'? Gives 0 (false) or 1 (true) 

3

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

यह फ़ंक्शन nचम्पारण्ये के कॉन्स्टेंट के वें अंक की गणना करता है । f=शुरुआत में जोड़ें और जैसे आह्वान करें f(arg)। ध्यान दें कि n1-अनुक्रमित है।

n=>[..."1".repeat(n)].map((c,i)=>c*++i).join``[n-1]

व्याख्या

यह कार्य एक ही तर्क में होता है n। यह, फिर, nदोहराव 1s के लंबे-लंबे स्ट्रिंग का निर्माण करता है । फिर, यह उस स्ट्रिंग को 1s के एरे में विभाजित करता है। उसके बाद, यह ऐरे के प्रत्येक तत्व पर पुनरावृत्ति करता है और उन्हें 1. 1 से बढ़ाए गए एरे में अपने सूचकांक के साथ गुणा करता है। फिर, यह ""एक स्ट्रिंग बनाने के लिए एरे को एक साथ (खाली स्ट्रिंग) में जोड़ देता है । अंत में, यह nप्राप्त स्ट्रिंग के वें तत्व को वापस कर देता है ।

नोट: लौटाए गए मान का प्रकार हमेशा स्ट्रिंग होता है

टेस्ट स्निपेट

let f =

n=>[..."1".repeat(n)].map((c,i)=>c*++i).join``[n-1]

i.oninput = e => o.innerHTML = f(parseInt(e.target.value,10));
<input id=i><pre id=o></pre>


3

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

चम्पारण्ये स्थिता।

lambda n:"".join(`i`for i in range(n+1))[n]

आपको आवश्यकता क्यों है n+1?
लीक नून

@LeakyNun क्योंकि मुझे n <= 1. के लिए अनुक्रमण त्रुटियां मिलती हैं
orlp

आप 1-इंडेक्सिंग का उपयोग कर सकते हैं।
लीक नून

@LeakyNun n <= 1.
orlp

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

3

APL (Dyalog) , 3 बाइट्स

2|⍴

इसे ऑनलाइन आज़माएं! (टेस्ट स्वीट से संख्या की श्रेणी उत्पन्न 1करने के लिए 10000, उन्हें एक स्ट्रिंग में बदलता है, और उसके बाद ट्रेन लागू होता है 2|⍴उन पर)।

इनपुट नंबर को एक स्ट्रिंग के रूप में लेता है और इसकी लंबाई आधुनिक 2 लौटाता है। इसलिए 123=> 3 mod 2=> 1

यह क्रम शुरू होता है:

1  1  1  1  1  1  1  1  1  0  0  0  0  0  0  ...

तो इसे इस तरह सामान्यीकृत किया जा सकता है: 9 1s 90 0s 900 1s ...

इस संख्या को 9 से गुणा करने से हमें एक लिउविले नंबर मिलता है , जो पारलौकिक साबित होता है।


मुझे नहीं लगता कि यह जरूरी लिउविले नंबर है - यह मेरे लिए स्पष्ट नहीं है कि आप n> 10 प्राप्त कर सकते हैं। यह मजबूत प्रमेय को फिट करता है, यहाँ अन्य लोग उपयोग करते रहे हैं, हालाँकि।
अर्जन जोहान्सन

@ AsrjanJohansen आप इसे व्यक्त कर सकते हैं 1 - 10^-9 + 10^-99 - 10^-999 + 10^-9999 - 10^-99999 + ..., इसलिए यह एक Liouville नंबर है।
लीक नन

@LeakyNun निरंतर घातांक का अंश लगभग 10 है, लेकिन विकिपीडिया पर परिभाषा को फिट करने के लिए इसे अनबाउंड करने की आवश्यकता है - यही कारण है कि मूल Liouville के निरंतर 1-सूचक एक भाज्य का उपयोग करते हैं, और एक घातांक नहीं।
अर्जन जोहान्सन

3

हास्केल, 25 बाइट्स 17 बाइट्स

(!!)$concat$map show[1..]

Champernowne's Constant को C10 * .01 के रूप में 0 या 1 अनुक्रमित किया जा सकता है।

संपादित करें: nimis टिप्पणी के अनुसार आप इसे कम करने के लिए सूची में मोनाद का उपयोग कर सकते हैं

(!!)$show=<<[1..]

2
=<<सूची इकाई से है concat.map: (!!)$show=<<[1..]
nimi

2

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

यह एक प्रोग्राम है जो nलिउविले कॉन्स्टेंट के वें अंक की गणना करता है , जहां nइनपुट संख्या को फ़ंक्शन के gरूप में लागू करके दिया जाता है g(arg)(और n1-अनुक्रमित है)। ध्यान दें कि कोड में नई लाइन आवश्यक है।

f=n=>n<1?1:n*f(n-1);g=(n,r=0)=>{for(i=0;i<=n;i++)if(f(i)==n)r=1
return r}

व्याख्या

कार्यक्रम में दो कार्य होते हैं, fऔर gfएक पुनरावर्ती भाज्य-कंप्यूटिंग फ़ंक्शन है, और gकार्यक्रम का मुख्य कार्य है। g मानता है कि एक ही तर्क है n। यह एक डिफ़ॉल्ट तर्क rको 0. के मान के साथ परिभाषित करता है । फिर, यह 0 से n, और प्रत्येक पुनरावृत्ति में सभी इंटेगर पर पुनरावृत्त करता है, यह देखता है कि क्या फ़ंक्शन (वर्तमान सूचकांक) fपर लागू किया गया iहै n, अर्थात क्या nइसका कोई तथ्य है i। यदि ऐसा होता है, तो rमान 1 पर सेट हो जाता है। फ़ंक्शन के अंत में, rवापस आ जाता है।

परीक्षण के लिए स्निपेट

f=n=>n<1?1:n*f(n-1);g=(n,r=0)=>{for(i=0;i<=n;i++)if(f(i)==n)r=1
return r}

i.oninput = e => o.innerHTML = g(parseInt(e.target.value,10))
<input id=i><pre id=o></pre>

चेतावनी: स्निपेट के इनपुट बॉक्स में बहुत बड़ा मूल्य न रखें! अन्यथा, आपका डिवाइस जम सकता है!


1

पायथ, 7 5 4 बाइट्स

@jkS

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

Champernowne की स्थिरांक का उपयोग करता है।

सहेजी गयी 2 3 लीकी नून के लिए धन्यवाद बाइट्स।


1
आप jkबदलने के लिए उपयोग कर सकते हैं sm`d, मुझे विश्वास है।
लीक नून

1
के Sबजाय आप का उपयोग कर सकते हैं Uh?
लीक नन

मुझे लगता है कि वे कार्यात्मक रूप से समान हैं, इसलिए हां। मैं डॉक्स के माध्यम से पूरी तरह से पढ़ता हूं>।>
क्लैप

वे कार्यात्मक समान नहीं हैं। Sके साथ शुरू होता है 1और Uशुरू होता है 0
लीक नून

आपने अपने संपादन को वापस क्यों लिया? परिणामी संख्या अभी भी पारलौकिक है।
लीक नून

1

जावा 8, 18 बाइट्स

पाइथन 2 के लिए डेनिस के उत्तर के रूप में भी , फ्रेडहोम संख्या

n->(n&(n-1))>0?0:1

(n-1)हो सकता है ~-nया --n2 बाइट्स बचाने के लिए। या आप डेनिस के उत्तर के समान सटीक हो सकते हैं : n->1>>(n&~-n)या 1>>(n&--n)
केविन क्रूज़सेन


1

चारकोल , 24 बाइट्स (नॉनकमेटिंग)

NαAIUVN⟦UGPi⁺α¹⟧β§β⁺α›α⁰

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

नोट: पोस्ट समय के रूप में, लिए काम नहीं करता nहै, जहां n14 साल की एक सकारात्मक एकाधिक है।

व्याख्या

Nα                             Input number to a
   A                  β        Assign to b
     I                         Cast
       UVN                    Evaluate variable N
            ⟦UGPi⁺α¹⟧         With arguments GetVariable(Pi) and a+1
                        §β⁺α›α⁰ Print b[a+(a>0)]

GetVariable(Pi)? तो, कोई πपूर्वनिर्धारित चर नहीं है?
नील

@ नील अभी तक नहीं है, और मैं πपीआई के बराबर बनाने का इरादा नहीं कर रहा हूं क्योंकि यह एएससीआईआई-कला उन्मुख भाषा है, न कि गणित-उन्मुख एक
एएससीआईआई-केवल

1

जाप , 3 1 + 1 = 2 1 बाइट

Feersum के समाधान का एक और बंदरगाह ।

एक स्ट्रिंग के रूप में इनपुट लेता है।

g

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


व्याख्या

   :Implicit input of string U
g  :The first character of the string

इनपुट एक स्ट्रिंग हो सकता है, इसलिए आप g1 बाइट के लिए कर सकते हैं :)
ओलिवर

चुनौती स्ट्रिंग इनपुट, @obarakon का उल्लेख नहीं करती है, इसलिए मैंने अपने जेएस बंदरगाहों में पूर्णांक का उपयोग किया और फिर, बदले में, यहां।
झबरा

आह, गच्चा। कई अन्य उत्तरों में स्ट्रिंग इनपुट का उपयोग किया गया है। लेकिन आप सही हैं, ओपी ने चुनौती में इसका उल्लेख नहीं किया।
ओलिवर

1

टीआई-बेसिक, 16 बाइट्स

मूल रूप से परीक्षण यदि इनपुट N(1-अनुक्रमित) एक त्रिकोणीय संख्या है। यह N0.1010010001 के वें अंक को वापस करने के समान है ... जो कि ट्रान्सेंडैंटल साबित होता है। अंकों का अनुक्रम OEIS A010054 है

Input N
int(√(2N
2N=Ans(Ans+1


0

जावास्क्रिप्ट (ES6)

बस कुछ अन्य समाधान के कुछ बंदरगाहों


feersum के पायथन समाधान , 12 बाइट्स

n=>(""+n)[0]


डेनिस 'पायथन समाधान , 13 बाइट्स

n=>1>>(n&--n)


xnor का पायथन समाधान , 20 बाइट्स

n=>Math.min(...""+n)



0

05AB1E , 3 1 बाइट

EDIT : अन्य उत्तरों से प्रमाण का उपयोग करते हुए, इनपुट का पहला अंक लौटाता है

¬

1 के लिए 1-अनुक्रमित (केवल 100000 अंकों तक)

žs¤

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

žs  # Implicit input. Gets n digits of pi (including 3 before decimal)
  ¤ # Get last digit

या, यदि आप ई पसंद करते हैं (अभी भी 1-अनुक्रमित) (केवल 10000 अंक तक)

žt¤

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


0

जे, 2 बाइट्स

वही समाधान जो अन्य सभी उपयोग कर रहे हैं:

{.

N का पहला अंक लौटाता है। IO तार पर है

लिउविले के कॉन्स्टेंट, 9 बाइट्स

(=<.)!inv

रिटर्न 1अगर इनपुट एक पूर्णांक का भाज्य है।

पाई, 13 बाइट्स

{:":<.@o.10x^

Pi टाइम्स का अंतिम गैर-दशमलव अंक 10 ^ n।





0

शेक्सपियर प्रोग्रामिंग लैंग्वेज , 76 बाइट्स

,.Ajax,.Ford,.Act I:.Scene I:.[Enter Ajax and Ford]Ford:Open mind.Speak thy.

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


आपको वहां एक अतिरिक्त चरित्र मिला है
जो किंग

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