वे संख्याएँ जो एन आधारों में पलिंड्रोम हैं


10

एक गैर-नकारात्मक पूर्णांक को देखते हुए n >= 0, आउटपुट हमेशा पूर्णांक का अनुक्रम होता है x_i >= 3जो बिल्कुल nअलग-अलग आधारों में पलिंड्रोम होते हैं b, जहां आधार हो सकता है 2 <= b <= x_i-2

यह मूल रूप से OEIS A126071 का विलोम है , जहां आप आउटपुट करते हैं, जो उस क्रम में सूचकांक का मूल्य रखता हैn । यह थोड़ा अलग है, क्योंकि मैंने इसे बदल दिया है इसलिए आप आधारों को नजरअंदाज करते हैं b = x_i-1, x_i, x_i+1, क्योंकि उन आधारों के लिए परिणाम हमेशा समान होते हैं (मान हमेशा पैलिंड्रोम्स या हमेशा नहीं होते हैं)। इसके अलावा, ऑफसेट अलग है।

x_iसंख्या तक ही सीमित है >= 3, ताकि प्रत्येक के लिए परिणाम की पहली अवधि nहै A037183

ध्यान दें कि आउटपुट स्वरूप लचीला है, लेकिन संख्याओं को एक अच्छे तरीके से चित्रित किया जाना चाहिए।

उदाहरण:

n   seq
0   3 4 6 11 19 47 53 79 103 137 139 149 163 167 ...
1   5 7 8 9 12 13 14 22 23 25 29 35 37 39 41 43 49 ...
2   10 15 16 17 18 20 27 30 31 32 33 34 38 44 ...
3   21 24 26 28 42 45 46 50 51 54 55 56 57 64 66 68 70 ...
4   36 40 48 52 63 65 85 88 90 92 98 121 128 132 136 138 ...
5   60 72 78 84 96 104 105 108 112 114 135 140 156 162 164 ...
10  252 400 420 432 510 546 600 648 784 800 810 816 819 828 858 882 910 912 1040 1056 ...

तो n=0, आपको इस चुनौती का उत्पादन (शुरू होने पर 3) मिलता है, क्योंकि आपको ऐसे नंबर मिलते हैं जो n=0आधारों में तालमेल रखते हैं।

के लिए n=1, 5आधार में एक palindrome है 2, और यह एकमात्र आधार है 2 <= b <= (5-2)जिसमें यह एक palindrome है। 7आधार में एक palindrome है 2, और यह एकमात्र आधार है 2 <= b <= (7-2)कि यह एक palindrome है।


Iff आपकी भाषा अनंत आउटपुट का समर्थन नहीं करती है, आप zइनपुट के रूप में एक और पूर्णांक ले सकते हैं और zअनुक्रम के पहले तत्वों को आउटपुट कर सकते हैं , या सभी तत्वों को छोड़ सकते हैं z। आपको जो पसंद हो। कृपया बताएं कि आपने अपने उत्तर में क्या उपयोग किया है यदि यह मामला है।

सम्बंधित


100% स्पष्ट होने के लिए, जो संख्याएँ आउटपुट हैं उन्हें बिल्कुल nआधारों में होना चाहिए , न कि nअधिक आधारों में?
माइक बुफर्देसी

1
हाँ। वह सही है। तो सभी मूल्यों के लिए सभी अनुक्रमों का मिलन nपूर्णांक का समुच्चय है >=3
mbomb007

जवाबों:


2

जेली , 18 बाइट्स

Ṅ‘µ‘µbRŒḂ€S_2⁼³µ?ß

इसे ऑनलाइन आज़माएं! -ऑनलाइन दुभाषिया 60 सेकंड पर टाइमआउट करेगा फिर फ्लश इट आउटपुट (जब तक उसकी कैश्ड कॉपी न हो), ऑफलाइन यह बदले में प्रत्येक को प्रिंट करेगा।

कैसे?

nयदि वे अनुक्रम में हैं, तो उन्हें ऊपर से संख्याओं का मूल्यांकन करना । ध्यान दें कि किसी भी आउटपुट में पहला नंबर nतब से अधिक होगा, अन्यथा की सीमा bपर्याप्त नहीं है, इसलिए इस प्रक्रिया को बीजने की कोई आवश्यकता नहीं है 3। यह भी ध्यान रखें कि आधार से खोल देना की संख्या 2 के लिए एक्स मैं -2 तक के palindromes की संख्या बेस 1 से x के palindromes की संख्या से सिर्फ दो कम है ।

Ṅ‘µ‘µbRŒḂ€S_2⁼³µ?ß - Main link: n
 AµBµC         µ?  - ternary if: if C then A else B
      R            - range: [1,2,3...,n]
     b             - n converted to those bases
       ŒḂ€         - is palindromic? for €ach
          S        - sum: counts the 1s
           _2      - subtract 2: throw away the truthy unary and base n-1 effect
             ⁼³    - equals input: Does this equal the ORIGINAL n?
Ṅ                  - if so: print n
 ‘                 -        increment n
   ‘               - else: just increment n
                 ß - calls this link as a monad, with the incremented n.

4

मेथेमेटिका, 80 71 बाइट्स

9 बाइट बचाने के लिए JungHwan Min को धन्यवाद!

Do[#!=Length[i~IntegerReverse~Range[2,i-2]~Cases~i]||Echo@i,{i,3,∞}]&

( तीन-बाइट वर्ण U + 221E है।) शुद्ध कार्य इनपुट के रूप में एक गैर-पूर्णांक बनाता है। से सभी ठिकानों में i~IntegerReverse~Range[2,i-2]संख्या के उलट की सूची बनाता है ; फिर गिना जाता है कि इनमें से कितने उलटफेर फिर से बराबर हैं । यदि वह गणना इनपुट के बराबर नहीं है, और इनपुट के बराबर होने पर गूँजती है, तो चुपचाप रुक जाता है। वह प्रक्रिया एक सीधी अनंत लूप में अंतर्निहित है।i2i-2Length[...~Cases~i]i#!=...||Echo@ii


शॉर्ट-सर्किट मूल्यांकन का चतुर उपयोग ! Echo@iपहला तर्क होने पर इस शब्द का मूल्यांकन नहीं किया जाता है True। क्या मैं इसे मैथेमेटिका में गोल्फिंग के लिए टिप्स में जोड़ सकता हूं ?
जुंगह्वान मिन

वैसे, Do[...,{i,3,∞}]की तुलना में कम है (i=2;While[1>0,... ++i ...]), और Casesइसके बजाय काम करेगा Position। -9 बाइट्स:Do[#!=Length[i~IntegerReverse~Range[2,i-2]~Cases~i]||Echo@i,{i,3,∞}]&
जुंगह्वान मिन

हाँ, कृपया टिप जोड़ें! —मुझे आश्चर्य नहीं है कि यह पहले से ही वहाँ नहीं है, क्योंकि मैंने निश्चित रूप से इसे कहीं से सीखा है ....
ग्रेग मार्टिन

Casesके स्थान पर महान काम करता है Position। लेकिन मैंने Doनिर्माण का परीक्षण किया , और यह मेरे लिए काम नहीं करता है लेकिन मुझे पता नहीं है कि क्यों नहीं। किसी कारण से, यह iमूल्यों में प्लग नहीं करता है - मुझे त्रुटियां मिलती हैं जैसे "Range specification in Range[2,-2+i] does not have appropriate bounds."। (और एक डालने Print[i];पुष्टि करता है कि iहै नहीं सौंपा जा रहा है मानों।) कोई भी विचार?
ग्रेग मार्टिन

जाहिर है, कोड में U + 200B और U + 200C थे, ,और {(शायद एसई के सिस्टम के साथ कुछ करने के लिए)। यह कोड को तोड़ता है क्योंकि वर्णों को एक चर माना जाता है। मुझे आशा है कि यह नहीं है: Do[#!=Length[i~IntegerReverse~Range[2,i-2]~Cases~i]||Echo@i,{i,3,∞}]& संपादित करें: अभी भी यह है। यहाँ एक pastebin लिंक है
JungHwan Min

1

पायथ, 21 19 18 बाइट्स

.V3IqQlf_IjbTr2tbb

इस सिद्धांत में काम करना चाहिए। यह ठीक से काम करता है अगर मैं किसी भी परिमित के लिए अनंत लूप को प्रतिस्थापित करता हूं (उदाहरण के JQFbr3 50*`bqJlf_IjbTr2tbलिए 3 से 50 तक, तो यहां प्रयास करें ), लेकिन पायथ दुभाषिया को पता नहीं है कि शाब्दिक रूप से अनंत आउटपुट को कब और कैसे प्रिंट करना है।

स्पष्टीकरण:

.V3IqQlf_IjbTr2tbb
.V3                     increase b infinitely, starting from 3
             r2Tb       range of integers including 2 to b - 2
      lf                length of elements retained if:
          jbT             b in that base
        _I                is invariant under reversal
    qQ                  check if the length is equivalent to the input
   I             b      output b if so

1

पर्ल 6 , 90 बाइट्स

->\n{->{$_=++($ //=2);$_ if n==grep {($/=[.polymod($^b xx*)])eq[$/.reverse]},2..$_-2}...*}

कोशिश करो

-> \n {

  # sequence generator
  ->{         # using a code block with no parameter

    $_ =      # set the default scalar to the value being tested
      ++(     # preincrement
        $     # anonymous state variable
        //= 2 # initialized to 2 
      );

    # the anonymous state var maintains its state
    # only for this current sequence
    # every time the outer block gets called it is created anew

    $_    # return the current value
      if  # if the following is true

        n == grep # find all that match the following code

          {
            # convert the current value to the base being tested
            # store as an Array in $/
            ($/ = [ .polymod($^b xx*) ] )

            eq    # is string equal to: (shorter than eqv)

            [ $/.reverse ]
          },

          2 .. $_ - 2 # from the list of bases to test
  }

  ...  # keep using that code block to produce values

  *    # indefinitely
}

1

बैश + यूनिक्स उपयोगिताओं, 134 132 बाइट्स

for((x=3;;x++)){
c=$1
for((b=x-1;--b>1;)){
s=`bc<<<"for(y=$x;y;y/=$b)y%$b"`
t=`tac<<<"$s"`
[ "${s#$t}" ]||((c--))
}
((c))||echo $x
}

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

इनपुट को एक तर्क के रूप में पारित किया जाता है। आउटपुट स्टडआउट पर है।

यदि आप इसे सामान्य रूप से चलाते हैं, तो यह अनंत अनुक्रम में एक समय में एक नंबर प्रदर्शित करेगा।

यदि आप टीआईओ में यह कोशिश करते हैं, तो यह आउटपुट का उतना ही प्रदर्शन करेगा जितना कि यह उत्पन्न होता है जब यह 60 सेकंड पर बाहर निकलता है।


0

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

B=lambda n,b:[]if(n<1)else B(n/b,b)+[n%b]
n=input()
x=3
while 1:
    if sum(B(x,b)==B(x,b)[::-1]for b in range(2,x-1))==n:print x
    x+=1

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

TIO प्रोग्राम में एक पाद जोड़ा गया है ताकि आपको आउटपुट देखने से पहले कार्यक्रम के लिए 1 मिनट इंतजार न करना पड़े।

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