এন বেসগুলিতে প্যালিনড্রোমগুলি এমন নম্বর


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), কারণ আপনার নম্বর যে palindromes পেতে n=0ঘাঁটি।

কারণ n=1, 5বেসে একটি প্যালিনড্রোম 2, এবং এটিই কেবলমাত্র বেসড 2 <= b <= (5-2)যা এটি 7একটি প্যালিনড্রোম base বেসে একটি প্যালিনড্রোম এবং 2এটিই কেবলমাত্র বেস 2 <= b <= (7-2)যা এটি একটি প্যালিনড্রোম in


যদি আপনার ভাষা অসীম আউটপুট সমর্থন করে না, আপনি zইনপুট হিসাবে অন্য একটি পূর্ণসংখ্যার নিতে পারেন এবং zঅনুক্রমের প্রথম উপাদানগুলি বা তার চেয়ে কম উপাদানগুলিকে আউটপুট দিতে পারেন z। যেটি তোমার পছন্দ. যদি এটি হয় তবে আপনার উত্তরে আপনি কোনটি ব্যবহার করেছেন তা দয়া করে জানান।

সম্পর্কিত


১০০% পরিষ্কার হওয়ার জন্য, যে সংখ্যাগুলি আউটপুট হয় সেগুলি অবশ্যই সঠিক nঘাঁটিতে প্যালিনড্রোমগুলি হওয়া উচিত , না nবা আরও বেসগুলিতে?
মাইক বুফার্দেচি

1
হ্যাঁ. ঐটা ঠিক. সুতরাং সমস্ত মানের জন্য সমস্ত সিকোয়েন্সগুলির মিলন nহল পূর্ণসংখ্যার সেট >=3
mbomb007

উত্তর:


2

জেলি , 18 বাইট

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

এটি অনলাইন চেষ্টা করুন! - অনলাইন দোভাষী 60০ সেকেন্ডে সময়সীমা শেষ করে তার আউটপুটটি ফ্লাশ করে (যদি এটির ক্যাশেড অনুলিপি না থাকে), অফলাইনে এটি প্রতিটি পরিবর্তে মুদ্রণ করবে।

কিভাবে?

সংখ্যাগুলি উপরে থেকে মূল্যায়ন nকরে, যদি তারা ক্রমিক হয় তবে মুদ্রণ করে। নোট করুন যে কোনও আউটপুটে প্রথম সংখ্যাটি তার চেয়ে বেশি হবে nকারণ অন্যথায় পরিসীমা bযথেষ্ট বড় নয়, সুতরাং প্রক্রিয়াটি বীজ করার দরকার নেই 3। আরও মনে রাখবেন যে বেস 2 থেকে এক্স আই -2 ইনক্লুসিভ সহ প্যালিনড্রোমের সংখ্যা বেস 1 থেকে এক্স পর্যন্ত প্যালিনড্রোমের সংখ্যার চেয়ে মাত্র দুটি কম ।

Ṅ‘µ‘µ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 বাইট সংরক্ষণের জন্য জংহওয়ান মিনকে ধন্যবাদ!

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

( থ্রি-বাইট চরিত্রটি ইউ + 221 ই।) ইনপুট হিসাবে কোনও অ-সংযুক্তি পূর্ণসংখ্যার গ্রহণ করা খাঁটি ফাংশন। থেকে সমস্ত ঘাঁটিতে i~IntegerReverse~Range[2,i-2]সংখ্যার বিপরীতার একটি তালিকা তৈরি করে ; তারপরে গণনা করা হয় যে এর মধ্যে কতগুলি বিপরীত আবার সমান equal যদি সেই গণনা ইনপুটটির সমান না হয় এবং চূড়ান্তভাবে থামে তবে তা যদি ইনপুটটির সমান হয়। এই পদ্ধতিটি একটি সরল অসীম লুপ এম্বেড করা হয়।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,∞}]& সম্পাদনা: এখনও আছে। এখানে একটি পেস্টবিনের লিঙ্কটি রয়েছে
23/05 এ JWHwan মিন

1

পাইথ, 21 19 18 বাইট

.V3IqQlf_IjbTr2tbb

এটি তাত্ত্বিকভাবে কাজ করা উচিত। আমি যদি কোনও সীমাবদ্ধতার জন্য অসীম লুপটি প্রতিস্থাপন করি তবে এটি সঠিকভাবে কাজ করে (উদাহরণস্বরূপ JQFbr3 50*`bqJlf_IjbTr2tb3 টি পর্যন্ত 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
}

এটি অনলাইন চেষ্টা করুন!

ইনপুটটি আর্গুমেন্ট হিসাবে পাস করা হয়। আউটপুট stdout হয়।

আপনি যদি এটি সাধারনত চালান তবে এটি অসীম অনুক্রমের এক সময়ে একটি সংখ্যা প্রদর্শন করবে।

আপনি যদি টিআইওতে এটি চেষ্টা করে থাকেন, এটি 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

এটি অনলাইনে চেষ্টা করুন

টিআইও প্রোগ্রামটির একটি ফুটার যুক্ত হয়েছে যাতে আউটপুটটি দেখার আগে আপনাকে প্রোগ্রামটির সময় শেষ হতে 1 মিনিট অপেক্ষা করতে হবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.