ব্যাপ্তির প্রাথমিক সংখ্যা সহ প্রথম এবং শেষ মৌলিক সংখ্যা


12

চ্যালেঞ্জ

প্রদত্ত ধনাত্মক পূর্ণসংখ্যার পরিসরের জন্য, প্রথম এবং শেষ মৌলিক সংখ্যাটি পুরোপুরি প্রাথমিক সংখ্যা সংখ্যার সমন্বয়ে তৈরি করুন, ব্যতিক্রমী 0 সহ ( সংখ্যার জন্য , 0-2 এর একটি পরিসর 2-2 আউটপুট হওয়া উচিত)। পরিসীমা অন্তর্ভুক্ত। যদি কোনও সংখ্যা পাওয়া যায় না, তবে প্রত্যাশিত আউটপুট 0 হয় such যদি সেখানে কেবলমাত্র একটি নম্বর থাকে, তবে প্রত্যাশিত আউটপুটটি সেই সংখ্যাটি দ্বিগুণ।

উদাহরণ

  • 1-100 রেঞ্জের জন্য, প্রথম মৌলিক সংখ্যাটি 2 এবং শেষটি 73 টি (7 এবং 3 টি প্রাথমিক সংখ্যা)।
  • 70-80 ব্যাপ্তির জন্য, প্রথম মৌলিক সংখ্যাটি 73 এবং শেষটিটিও 73 (
  • 190-200 রেঞ্জের জন্য, কোনও সঠিক উত্তর নেই, সুতরাং আপনি 0 ফেরান।
  • 2000-2100 ব্যাপ্তির জন্য, প্রথম মৌলিক সংখ্যাটি 2003 এবং শেষটি 2053 (আমরা 0 সংখ্যাটি বাদ দিই, তবে অন্য সমস্ত সংখ্যাগুলি মূল)

এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়!

সমস্ত স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।

ইনপুট

  • আপনি দুটি পূর্ণসংখ্যা ইনপুট হিসাবে গ্রহণ করতে পারবেন তবে আপনি ফিট, স্ট্যাক, ফাংশন আর্গুমেন্ট (গুলি), সিএলআই আর্গুমেন্ট, স্টিডিন দেখতে পাবেন।
  • আপনার অবশ্যই দুটি পূর্ণসংখ্যা গ্রহণ করতে হবে

আউটপুট

  • আপনার অবশ্যই ফলাফলটি ফেরত পাঠাতে হবে (একটি টিউপল, একটি অ্যারে, মাল্টি রিটার্ন যদি আপনার ভাষা এটি সমর্থন করে), এটি স্ট্যাকের উপর ছেড়ে দিন, বা এটি মুদ্রণ করুন (এই ক্ষেত্রে, তাদের অবশ্যই কোনওভাবে পৃথক করা উচিত)।
  • আউটপুটগুলির ক্রমটি অপ্রাসঙ্গিক।
  • আপনাকে নেতৃস্থানীয় / পিছনে বন্ধনী এবং নতুন লাইনের অনুমতি দেওয়া হয়েছে।
  • আপনাকে অবশ্যই দুটি সংখ্যা ফেরত পাঠাতে হবে, যদি কোনও উত্তর থাকে তবে সেগুলি সমান হলেও।
  • কোনও উত্তর না থাকলে আপনাকে অবশ্যই 0 ফেরত আসতে হবে।

কেবলমাত্র নিশ্চিত করার জন্য, আমি উত্তর আছে যখন আমি পূর্ণসংখ্যার একটি তালিকা ফিরিয়ে দিচ্ছি, উত্তর নেই যখন আমি কেবল 0 যুক্ত একটি তালিকা ফিরিয়ে দিতে পারি? আমার 0বদলে ফিরতে হবে না [0]?
29urous

উত্তর:



5

পার্ল 6, 105 94 90 86 বাইট

{my @b=grep {is-prime all($_,|.comb>>.Int Xor 2)},$^a..$^b;say @b??"@b[0] @b[*-1]"!!0}

4

জাভাস্ক্রিপ্ট (ES6), 83 বাইট

বাক্য গঠন সিনট্যাক্সে [আবৃত্তি] ব্যাপ্তি নেয় (a)(b)। হয় 2-উপাদান অ্যারে বা 0 প্রদান করে

n=>g=(m,a=0)=>n>m?a:g(m-1,(P=d=>m%--d?P(d):d>1|/[14689]/.test(m))(m)?a:[m,a[1]||m])

পরীক্ষার মামলা



3

জেলি , 14 বাইট

æRµDo2ÆPẠµÐf.ị

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

কিভাবে এটা কাজ করে

programRµDo2ÆPẠµÐf.ị ~ সম্পূর্ণ প্রোগ্রাম।

æR ~ অন্তর্ভুক্তিমূলিক প্রাথমিক পরিসর।
  µ µÐf ~ কেবল তাদেরকে রাখুন যা শর্ত পূরণ করে।
   Do2ÆPẠ filter ফিল্টার শর্ত:
   ডি the বর্তমান সংখ্যার দশমিক সংখ্যা।
    o2 ~ যৌক্তিক বা 2 সহ (মানচিত্র 0 থেকে 2 এবং অন্য কোনও ডিজিট নিজেই)।
      Æপি prime প্রাইম (উপাদান অনুসারে)?
        ~ All সমস্ত অঙ্ক শর্তটি পূরণ করে কিনা তা পরীক্ষা করে দেখুন।
            .ị mod মডুলার সূচক 0.5 তে উপাদান পান। কিছু বিশদ:
                 El জেলি 1-ইনডেক্সড, সুতরাং 1 আমাদের প্রথম উপাদান দেয়, যদিও 0
                   আমাদের শেষ উপাদান দেয়।
                 Given যদি দেওয়া নম্বর N এর সিল এবং মেঝে মেলে না, 
                   তারপরে জেলি আইটেমগুলি সূচী তল (এন) এবং সিল (এন) এ ফেরত দেয় ।
                 The তালিকাটি খালি থাকলে, এটি 0 দেয়, তাই এটি খুব সুবিধাজনক।

যদি পুরো পরিসর গ্রহণের অনুমতি দেওয়া হবে (যদিও আমি মনে করি এটি হওয়া উচিত নয়), তবে 12 বাইট:

Do2,ÆPȦµÐf.ị

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


13 বাইট যদিও এটি সুপার অনুরূপ নয়। আমি কি শুধু এটি নিজের পোস্ট করা উচিত? আপনি চাইলে এটি নিতে পারেন তবে আপনি নিজের সমাধানটি রাখছেন কিনা তা আমাকে জানান।
dylnan

ওপি বলেছেন For a given positive integers range। আমি স্পষ্ট করতে
বলব

@ অল্লানন নোট করুন যে তবেই আপনার সংস্করণটি অবৈধ (( 0চ্যালেঞ্জ থেকে ব্যতিক্রম, কারণ এটি কোনও কারণে প্রাথমিক সংখ্যা হিসাবে বিবেচনা করা উচিত)। যাইহোক, আমি একটি সংক্ষিপ্ত এবং বৈধ সংস্করণ পোস্ট করেছি
মিঃ এক্সকডার

ওহ আমি ভেবেছিলাম 0 টি হল প্রধান নিয়মটি পরিবর্তন করা হয়েছিল
ডায়লানান

3

ব্র্যাচল্যাগ , 16 বাইট

⟦₂{ṗṗᵐ}ˢ⟨⌋≡⌉⟩|∧0

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

সম্পূর্ণ অ-সংবেদনশীল "রিটার্ন 0" প্রাইম না থাকলে " |∧0বিনা কারণে আমাদের 3 বাইট ( ) হারাতে বাধ্য করে (এটি false.আমরা যুক্ত না করলে ফিরে আসবে )

ব্যাখ্যা

⟦₂                Range from the smallest element of the input to the biggest
  {   }ˢ          Select on that range:
   ṗ                Numbers that are primes
    ṗᵐ              And whose digits are primes
        ⟨   ⟩     Fork on this new list:
         ⌋          Minimum
           ⌉        maximum
          ≡         Do nothing and return [Minimum, Maximum]
             |∧0  If all of this fails (i.e. the list after selection is empty), return 0

অবৈধ কারণ এটি মুখ্য 0 হিসাবে চ্যালেঞ্জ হিসাবে নির্দিষ্ট হিসাবে হ্যান্ডেল করে না। সুতরাং, এটি ব্যর্থ হয়[2000, 2100]
মিস্টার এক্সকোডার

3

পাইথ , 24 বাইট

আমার প্রাথমিক পদ্ধতির ব্যবহারটি সংক্ষিপ্ত হতে পারে।

.x,eKfP#I_M-+TjT;0}EQhKZ

এখানে চেষ্টা করুন!

(আমি মাত্র ২৩ এ আপডেট করছি তবে স্টিভেন আমাকে এতে মারলেন )

?KfP#I_M-+TjT;0}FQhM_BK0

এখানে চেষ্টা করুন!

নাটিকভাবে, hM_BKদ্বারা প্রতিস্থাপন করা যেতে পারে ,hKeK

25 বাইট

.x,eKf.AmP_|d2+TjT;}EQhKZ

এখানে চেষ্টা করুন!

26 বাইট

|>2.<f.AmP_|d2+TjT;*2}EQ1Z

এখানে চেষ্টা করুন!

|>2.<fP#I_M|R2+TjT;*2}EQ1Z

এখানে চেষ্টা করুন!


তারা কিভাবে কাজ করে

.x,eKfP#I_M-+TjT;0}EQhKZ ~ Full program. Q, E = first, second inputs

.x                     Z ~ Try-catch block. If the code errors, output 0.
     f            }EQ    ~ Filter the range [E ... Q] for (uses a variable T):
            +TjT;          ~ Append T to the list of its digits.
           -     0         ~ Remove the zeros.
         _M                ~ Multiply each by -1 (for primality testing).
        I                  ~ Check if the result is invariant over...
      P#                   ~ Removing non-prime items.
    K                    ~ Assigned the filtered range to a variable K.
  ,e                     ~ Pair the last element of K with...
                     hK  ~ Its first element.

|>2.<f.AmP_|d2+TjT;*2}EQ1Z ~ Full program.

                   *2}EQ   ~ Inclusive range, repeated twice..
     f                     ~ Filter, using T as the current number.
                jT;        ~ Base-10 digits of T.
              +T           ~ Concatenated with T.
        mP_|d2             ~ Prime check after performing OR 2 (makes 0 be treated as prime)
      .A                   ~ Do all satisfy this condition?
   .<                   1  ~ Rotate by one place cyclically to the left.
 >2                        ~ Last two elements (ignored if there aren't enough)
|                        Z ~ Logical or with 0.


[70, 80] পরীক্ষার ক্ষেত্রে এটি [73] এর দুটি দৃষ্টান্ত ফেরত দেয় না।
স্টিভেন এইচ।

আপনাকে 1 ছাড়িয়ে পিছিয়ে গেছে, এখন 25 এ।
স্টিভেন এইচ।

@StevenH। আপনাকে এখন 1-র পিছনে পিছনে ফেলেছে, এখন 24 এ।
জনাব এক্সকোডার

প্রতিযোগিতাটি তীব্র হচ্ছে ... 23 এ!
স্টিভেন এইচ।

2

গণিত 85 বাইট

আমি জানি ইতিমধ্যে একটি অনুরূপ উত্তর আছে, তবে এখানকার পদ্ধতিটি একেবারেই আলাদা।

MinMax@Cases[Range@##,x_/;PrimeQ@x&&DisjointQ@@IntegerDigits/@{x,14689}]/.{_,∞}->0&

এই 83 টি অক্ষরের উত্তরটি পেস্ট করে ম্যাথমেটিকায় চলবে। টিআইও সাইট ∞ কীভাবে ব্যাখ্যা করতে জানে না ∞


2

জেলি , 14 বাইট

Do2ÆPẠ
æRÇÐf.ị

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

æRÇÐf.ị            Main link
æR                 Prime range
   Ðf              Filter the range with...
  Ç                The helper link
      ị            At index (decimal, returns [xs[floor], xs[ceil]], otherwise 0)
     .             0.5

Do2ÆPẠ             Helper link
D                  For each decimal
 o2                Replace 0s with 2s, an actual prime prime (could be 3, 5, or 7).
   ÆP              Filter primes (1 if true, 0 if false)
     Ạ             Check if all are true

বাগ ঠিক করতে সহায়তার জন্য এরিক আউটগলফারকে ধন্যবাদ । কৌতুকের জন্য মিঃ এক্সকোডারকে ধন্যবাদ .ị


হায় ṙ-ḣ2জন্য কাজ Ḣ,Ṫএটি ঠিক করার (একটু বেশি পরিবর্তন করতে থাকতে পারে)?
জাকারি

@ জ্যাচারý যেটি ভুল ক্রমে আউটপুট দেয়। এবং এটি কাজ করছে বলে মনে হচ্ছে না: \
ভেন

@ মিঃ এক্সকোডার জেলি রুমটি আমাকে একই সমাধানে নিয়ে গেছে। ধন্যবাদ!
ভেন

.ịপাশাপাশি কাজ করতে পারে (মি। এক্সকোডার কাছ থেকে এক ধরণের চুরি)
জাকারিয়া

তুমি ঠিক বলছো! ওটা সুন্দর.
ভেন



1

পার্ল 6 ,  68 66 65 61  58 বাইট

{($_=($^a..$^b).grep({.is-prime&&/^<[02357]>+$/})[0,*-1])[1]??$_!!0}

চেষ্টা করে দেখুন

{($_=($^a..$^b).grep({.is-prime&&!/<[14689]>/})[0,*-1])[1]??$_!!0}

চেষ্টা করে দেখুন

{($_=($^a..$^b).grep({.is-prime*!/<[14689]>/})[0,*-1])[1]??$_!!0}

চেষ্টা করে দেখুন

{($_=($^a..$^b).grep({.is-prime*!/<[14689]>/}))??.[0,*-1]!!0}

চেষ্টা করে দেখুন

{($_=grep {.is-prime*!/<[14689]>/},$^a..$^b)??.[0,*-1]!!0}

চেষ্টা করে দেখুন

সম্প্রসারিত:

{  # bare block lambda with two placeholder parameters 「$a」 and 「$b」

  (
    $_ =  # store the list in 「$_」 for later use

      grep {
          .is-prime

        *              # True * True == 1 (all others equal 0)

          !/<[14689]>/ # doesn't contain a non-prime other than 0
      },

      $^a .. $^b       # inclusive Range

  )            # is the list Truish (not empty)
  ?? .[0,*-1]  # if so output the first and last values (from 「$_」)
  !! 0         # otherwise return 0
}


1

জাভা 8, 165 164 বাইট

(a,b)->{for(;a<=b&!p(a);a++);for(;b>a&!p(b);b--);return a>b?"0":a+" "+b;}boolean p(int n){int N=n,i=2;for(;i<N;N=N%i++<1?0:N);return(n+"").matches("[02357]+")&N>1;}

ব্যাখ্যা:

এখানে চেষ্টা করুন।

(a,b)->{            // Method with two integer parameters and String return-type
                    //  (Input `a` is the lowest input, input `b` is the highest input)
  for(;a<=b         //  Increase `a` as long as it's smaller than or equal to `b`,
       &!p(a);a++); //   and it's not a prime, and not all of its digits are prime-digits
  for(;b>a          //  Decrease `b` as long as it's larger than `a`,
       &!p(b);b--); //   and it's not a prime, and not all of its digits are prime-digits
  return a>b?       //  If `a` is now larger than `b`:
    "0"             //   Return 0, because nothing is found
   :                //  Else:
    a+" "+b;}       //   Return the resulting `a` and `b`

boolean p(int n){int N=n,i=2;for(;i<N;N=N%i++<1?0:N);return(n+"").matches("[02357]+")&N>1;}
                    // Separate method that returns whether the input integer is a prime,
                    //  and all of its digits are also primes (or 0)


1

পাইথ, 28 25 23 বাইট

.xhM_BfP#I_M #+TjT;}FQ0

পরীক্ষা স্যুট. 2053 প্রাইম হওয়ায় সর্বশেষ পরীক্ষার ক্ষেত্রে [2003,2053] প্রদান করে s


হাহাহা, অবৈধ। ফেরত পাঠায় [0, 0]পরিবর্তে0
জনাব Xcoder

আহ, গুলি। আমি এটা ঠিক করব।
স্টিভেন এইচ।

@ মিঃ এক্সকোডার স্থির!
স্টিভেন এইচ।


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