আপনার উত্স কোডে প্রাইম ছাড়াই একটি সংখ্যা 2017-অবনমিত কিনা তা নির্ধারণ করুন


41

আমি যে সমস্ত বছর এই চ্যালেঞ্জটি তৈরি করেছি তার মধ্যে, 2017 প্রথম বছর যা একটি প্রধান সংখ্যা ছিল been সুতরাং প্রশ্নটি মৌলিক সংখ্যা এবং তাদের সম্পত্তি সম্পর্কে হবে।

আপনার কাজটি এমন একটি প্রোগ্রাম বা ফাংশন উত্পাদন করা যা ইনপুট হিসাবে একটি নির্বিচারে বড় ধনাত্মক পূর্ণসংখ্যার গ্রহণ করবে এবং আউটপুট বা নম্বরটি ২,017-শুক্রযুক্ত কিনা তা ফিরিয়ে দেবে - অর্থাৎ, এই সংখ্যার বৃহত্তম প্রাইম ফ্যাক্টর 2,017 বা তার চেয়ে কম কিনা whether


কিছু উদাহরণ ইনপুট এবং তাদের ফলাফল:

1 (has no prime factors)
true

2 (= 2)
true

80 (= 2 x 2 x 2 x 2 x 5)
true

2017 (= 2017)
true

2019 (= 3 x 673)
true

2027 (= 2027)
false

11111 (= 41 x 271)
true

45183 (= 3 x 15061)
false

102349 (= 13 x 7873)
false

999999 (= 3 x 3 x 3 x 7 x 11 x 13 x 37)
true

1234567 (= 127 x 9721)
false

4068289 (= 2017 x 2017)
true

তোমার প্রোগ্রাম আক্ষরিক আউটপুট নেই trueএবং false- কোনো truthy বা falsy মান, এবং সত্য যে কোন দুটি ভিন্ন আউটপুট যে সত্য এবং মিথ্যা মামলা জুড়ে সামঞ্জস্যপূর্ণ হয় জরিমানা হয়।


তবে আপনি আপনার সোর্স কোডে কোনও প্রাইম ব্যবহার করতে পারবেন না । পুরস্কার দুটি ধরণের আসে:

  • অক্ষর বা অক্ষরগুলির ক্রমগুলি যেগুলি প্রধান সংখ্যাটির অক্ষরকে উপস্থাপন করে।

    • অক্ষর 2, 3, 5, এবং 7ভাষার যেখানে সংখ্যার বৈধ টোকেন হয় অবৈধ।

    • সংখ্যা 141অবৈধ কারণ এটা রয়েছে 41, যদিও 1এবং 4অন্যথায় বৈধ।

    • অক্ষর Bএবং D(বা bএবং d) ভাষাগুলি যেখানে সে সাধারণত 11 এবং 13 হিসাবে সিজাম বা বেফুঞ্জ হিসাবে ব্যবহৃত হয় তা অবৈধ।

  • যে অক্ষরগুলির মূল ইউনিকোড মান রয়েছে, বা তাদের এনকোডিংয়ে প্রাইম-ভ্যালুযুক্ত বাইট রয়েছে।

    • অক্ষরগুলি %)+/5;=CGIOSYaegkmqASCII এ অবৈধ, পাশাপাশি ক্যারেজ রিটার্ন চরিত্র are

    • চরিত্রটি óইউটিএফ -8 এ অবৈধ কারণ এর এনকোডিং এতে রয়েছে 0xb3। যাইহোক, আইএসও -8859-1 এ, এর এনকোডিংটি সহজভাবে 0xf3, যা সম্মিলিত এবং তাই ঠিক।

উপরের কোনও সংক্ষিপ্ত কোডটি যে কোনও ভাষাতেই জিততে পারে।


পার্শ্ব দ্রষ্টব্য: "friable" এই প্রসঙ্গে পুরানো-ও-বর্ণনামূলক "মসৃণ" এর তুলনায় গৃহীত একটি উন্নতি।
গ্রেগ মার্টিন

1
সত্যবাদী এবং মিথ্যা মানগুলি কি সামঞ্জস্যপূর্ণ হওয়া দরকার? অথবা যতক্ষণ না তারা সত্যবাদী বা মিথ্যা হয় ততক্ষণ তারা পরিবর্তিত হতে পারে?
লুইস মেন্ডো

10
=বেশিরভাগ মানক ভাষার বাইরে নিয়মের অভাব ...
নীল

4
ওয়াই চ্যালেঞ্জ ছাড়াই একটি ড এক্স এর জন্য -1। চরিত্রগত বিধিনিষেধের পরিবর্তে অপ্রয়োজনীয় সেটটির পিছনে এটি সত্যিই বেশ তুচ্ছ - লুকিয়ে রয়েছে
ডাউনগোট

1
এগুলি নির্বিচারে বড় হওয়া সম্পর্কে আমি অংশটি পছন্দ করি না। তারা 2 ^ 31-1 এ গেলে আরও ভাল।
বিজন

উত্তর:


37

জেলি , 8 বাইট

44‘²!*ḍ@

এটি অনলাইন চেষ্টা করুন! নোট করুন যে 11111 এবং তারপরের পরীক্ষার কেসগুলি টিআইওর জন্য কিছুটা বেশি।

প্রতিপাদন

$ source="34,34,fc,82,21,2a,d5,40"
$ xxd -ps -r > 2017.jelly <<< $source
$ xxd -g 1 2017.jelly
0000000: 34 34 fc 82 21 2a d5 40                          44..!*.@
$ eval printf '"%d "' 0x{$source}; echo # Code points in decimal
52 52 252 130 33 42 213 64
$ test_cases="1 2 80 2017 2019 2027 11111 45183 102349 999999 1234567 4068289"
$ for n in $test_cases; do printf "%11d: %d\n" $n $(jelly f 2017.jelly $n); done
      1: 1
      2: 1
     80: 1
   2017: 1
   2019: 1
   2027: 0
  11111: 1
  45183: 0
 102349: 0

পরীক্ষার কেস 999999 13 ঘন্টা চলছে। আমি 2025 গণনা সম্পর্কে হতাশাবাদী ! 4068289 ...

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

44‘²!*ḍ@  Main link. Argument: n

44        Yield 44.
  ‘       Increment to yield 45.
   ²      Square to yield 2025.
          Note that no integers in [2018, ..., 2025] are prime numbers.
    !     Take the factorial of 2025.
     *    Raise it to the n-th power.
          This repeats all prime factors in 2025! at least n times, so the result
          will be divisible by n if (and only if) all of its prime factors fall
          in the range [1, ..., 2025].
      ḍ@  Test the result for divisibility by n.

22
আপনি সংখ্যায় নিষ্ঠুর। :)
গ্রেগ মার্টিন

3
@ গ্রেগমার্টিন বাহ। আমি কোন উত্তর (একটি পৃথক ভাষায়) যেখানে আকারের একটি ইনপুট দেখা করেছি 6 বেশ কয়েক ঘন্টা জন্য মেমরি বরা করতে চায়, তবে বিপর্যস্ত। আমি শুধু বলতে হবে: (2^n)!। এটি ছয় আকারের ইনপুটগুলির জন্য ক্র্যাশ করে, তবে অন্তত ইনপুটগুলি বাইনারিগুলির চেয়ে দশমিক বর্ণমালায় থাকে।
জন ডিভোরাক

এই 13 বাইট না? ডেনিস আপনার এত খ্যাতি আছে যে আমি নিশ্চিত যে আমিই এখানে ভুল করছি সে হাহাহা bert
অ্যালবার্ট রেনশো

7
@ অ্যালবার্টরেনশাহ এটি অবশ্যই ইউটিএফ -8 এ 13 বাইট হবে, তবে জেলি একটি কাস্টম কোড পৃষ্ঠা ব্যবহার করে যা প্রতিটি অক্ষরকে একক বাইট হিসাবে বোঝে এমন সমস্ত অক্ষরকে এনকোড করে।
ডেনিস

3
@ ডেনিস জানতেন যে এর ব্যাখ্যা হবে; সম্পর্কে শিখতে খুব দুর্দান্ত, ধন্যবাদ!
অ্যালবার্ট রেনশওয়া

11

জেলি , 8 টি অক্ষর, ইউটিএফ -8 এর 14 বাইট

Æf½ṀḤ<90

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

জেলি সাধারণত প্রোগ্রামগুলির জন্য নিজস্ব কোডেপেজ ব্যবহার করে। তবে এর বেশিরভাগ প্রাইম-রিলেটেড বিল্টইনগুলি শুরু হয় Æ, যা কোডপয়েন্ট ১৩; খুব সহায়ক নয়। ভাগ্যক্রমে, দোভাষী এছাড়াও ইউটিএফ -8 সমর্থন করে, যার একটি বন্ধুত্বপূর্ণ এনকোডিং রয়েছে।

প্রতিপাদন

ইউটিএফ -8 এ এই প্রোগ্রামটি হেক্সডাম্প এর মতো করে:

00000000: c386 66c2 bde1 b980 e1b8 a43c 3930  ..f........<90

সমস্ত বাইট সম্মিলিত যাচাইকরণ:

$ for x in c3 86 66 c2 bd e1 b9 80 e1 b8 a4 3c 39 30; do factor $((0x$x)); done
195: 3 5 13
134: 2 67
102: 2 3 17
194: 2 97
189: 3 3 3 7
225: 3 3 5 5
185: 5 37
128: 2 2 2 2 2 2 2
225: 3 3 5 5
184: 2 2 2 23
164: 2 2 41
60: 2 2 3 5
57: 3 19
48: 2 2 2 2 3

সমস্ত ইউনিকোড কোডপয়েন্টগুলি সম্মিলিত যাচাইকরণ:

$ perl -Mutf8 -E '$a = ord, print `factor $a` for split //, "Æf½ṀḤ<90"'
198: 2 3 3 11
102: 2 3 17
189: 3 3 3 7
7744: 2 2 2 2 2 2 11 11
7716: 2 2 3 643
60: 2 2 3 5
57: 3 19
48: 2 2 2 2 3

সংখ্যা হিসাবে পার্স করা একমাত্র টোকেন 90। কোনটিই 9, 0এবং 90মৌলিক আছে।

ব্যাখ্যা

এখানে মূল গাণিতিক অন্তর্দৃষ্টি হ'ল 45² হ'ল 2025 যা ঝরঝরেভাবে 2017 (বর্তমান বছর) এবং 2027 (পরবর্তী প্রধান) এর মধ্যে পড়ে। সুতরাং, আমরা সংখ্যা প্রতিটি মৌলিক উত্পাদক বর্গমূল নেওয়া, এবং দেখুন যদি থাকে ছাড়িয়ে গেছে 45. দুর্ভাগ্যবশত, আমরা লিখতে পারি না করতে 45আক্ষরিক কারণে 5, তাই আমরা তা দ্বিগুণ করতে হবে এবং পরিবর্তে 90 তুলনা করুন।

Æf½ṀḤ<90
Æf        In the list of prime factors,
  ½       taking the square root of each element
   Ṁ      then taking the largest element
    Ḥ     and doubling it
     <90  produces a result less than 90.

2
জেলি কি ইউটিএফ -8 ব্যবহার করার জন্য একটি পতাকা (1 বাইট) লাগবে না?
লুইস Mendo

@ লুইসমেন্দো: কমান্ড-লাইন ইন্টারপ্রেটারটি করেন, তবে অনুবাদ এটি অনলাইন এ অনুবাদ করুন! অন্যভাবে কনফিগার করা হয়েছে এবং এটির প্রয়োজন নেই। সুতরাং এটি কেবলমাত্র দোভাষীকে বাছাইয়ের একটি ঘটনা যা আপনার প্রোগ্রামটিকে আপনার পছন্দমতো ব্যাখ্যা করে। (যে কোনও ক্ষেত্রে, u

10

গণিত, 62 58 55 বাইট

শেষ তিনটি বাইট সংরক্ষিত হয়েছে পুরোপুরি মার্টিন ইন্ডারের কারণে!

#4<4||#<44*46&&#6[#^-1#4]&[Divisors[#][[6-4]],,,#,,#0]&

একটি ইতিবাচক পূর্ণসংখ্যার যুক্তি এবং ফিরে আসা Trueবা নামকরণের ফাংশন False

#4<4সত্যবাদী বেস কেস হওয়ার সাথে পুনরাবৃত্তিমূলক অ্যালগরিদম (আমাদের কেবল ইনপুট True1 এ ফিরে আসা দরকার , তবে অতিরিক্ত বেস কেসগুলি জরিমানা হয়)। অন্যথায়, আমরা ইনপুটটির দ্বিতীয়-ক্ষুদ্রতম বিভাজক (যা মূলত প্রধান) গণনা করি Divisors[#][[6-4]]; যদি এটি ২০২৪ (এর চেয়ে বেশি 44*46) হয় তবে আমরা প্রস্থান করি False, অন্যথায় আমরা এই ছোট্ট মৌলিক ফ্যাক্টরটি দ্বারা বিভক্ত ইনপুটটিতে পুনরাবৃত্তভাবে ফাংশনটি ( #6সেট করে ব্যবহার করি) বলি (যা আমাদেরকে ইনপুট হিসাবে প্রকাশ করতে হবে , যেহেতু অনুমতি দেওয়া হয়নি)।#0##^-1#4/

গঠনের প্রথমার্ধে #4<4||#<44*46&&#6[#^-1#4]&ছয় আর্গুমেন্ট একটি বেনামী ফাংশন, আর্গ্যুমেন্টগুলির সাথে ডাকা হচ্ছে Divisors[#][[6-4]], Null, Null, #, Null, এবং #0; এই অক্ষর উপর নিষেধাজ্ঞা প্রায় পেতে হয় 2, 3এবং 5

পূর্ববর্তী সংস্করণ প্রতিস্থাপন চার বাইট রক্ষা 8018-6000সঙ্গে 44*46, দ্বারা অনুপ্রাণিত ais523 এর জেলি উত্তর (মার্টিন Ender এছাড়াও একটি ais523 মন্তব্য দ্বারা অনুপ্রাণিত করলো):

#<4||Divisors[#][[6-4]]<44*46&&#0[Divisors[#][[6-4]]^-1#]&

এটি বেশ বাজে ছিল: আমি এখনও এই বিধিনিষেধের আওতায় ম্যাথামেটিকায় আসলে একটি ভেরিয়েবল সেট করার কোনও উপায় জানি না! =এবং eইন উভয়ই Setঅনুমোদিত নয়। এড়ানো +এবং )এটিও একটি সমস্যা ছিল, তবে বেশি বাইট ব্যয়ে প্রায় কাজ করা খুব কঠিন নয়।


আপনি সম্ভবত একটি ভেরিয়েবলের চেয়ে ল্যাম্বডা প্যারামিটার সেট করতে পারেন। (এটি বলেছিল, #2এটিও বঞ্চিত করা হবে, সুতরাং আপনার

@ আইজ ৫২৩ এর পরামর্শ কার্যকর করা তিনটি বাইট সংরক্ষণ করে: #4<4||#<44*46&&#6[#^-1#4]&[Divisors[#][[6-4]],,,#,,#0]&একগুচ্ছ সতর্কতা নিক্ষেপ করে কারণ Divisors[#][[2]]ইনপুটটি 1 (বা 3) এর চেয়ে বেশি হবে তা নিশ্চিত করার আগে এটি চেষ্টা করে তবে ফলাফলটি এখনও সঠিক।
মার্টিন এন্ডার

ওহ মানুষ, এটা ধূর্ততা ছদ্মবেশী।
গ্রেগ মার্টিন

7

হাস্কেল, 48 47 বাইট

\n->[snd$[product[1..44*46]^n]!!0`divMod`n]<[1]

মূলত ডেনিসের জেলি উত্তরের একটি অনুবাদ । xnor একটি বাইট সংরক্ষণ করেছে।

ব্যবহার […]!!0প্রথম বন্ধনী যেমন কারণ )নিষিদ্ধ করা হয়, এবং snd+ + divModকারণ mমধ্যে modএবং remনিষিদ্ধ করা হয়।


ডিভোডের সাথে দুর্দান্ত কৌশল! আমার মনে হয় আপনি প্রতিস্থাপন করতে পারেন !!0<1সঙ্গে <[1]। কিন্তু এটা এটা ব্যবহার করা shorted হচ্ছে দেখায় divযেমন [\p n->p^n`div`n*n>p^n-1]!!0$product[1..44*46]
xnor

এছাড়াও আছে \n->[0|p<-[product[1..44*46]^n],0<-[p,p-n..0]], যা ব্যবহার করে যে আউটপুটগুলি কেবল সামঞ্জস্যপূর্ণ হওয়া দরকার।
xnor

@ এক্সনর এগুলি পৃথক উত্তর (গুলি) হিসাবে পোস্ট করতে নির্দ্বিধায় মনে করেন, তারা আমার থেকে যথেষ্ট আলাদা ^^
লিন

6

পাইকে, 10 8 7 9 বাইট

P_Z|hwMX<

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

ডেনিসের 2025 উত্পাদন করার পদ্ধতি ব্যবহার করে 1 বাইট সংরক্ষণ করা হয়েছে

P         -     factors(input)
 _        -    reversed(^)
  Z|      -   ^ or 0
    h     -  ^[0] or 1
        < - ^ < V
     wM   -  ⁴45 (ord("M")-32)
       X  -  ^**2

5

ব্র্যাচল্যাগ , 9 10 বাইট

*$ph$r*<90

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

মূলত আমার অন্যান্য উত্তর হিসাবে একই অ্যালগরিদম ব্যবহার। $phপ্রথম ( h) প্রাইম ফ্যাক্টর ( $p) আবিষ্কার করে; এটি বৃহত্তম প্রাইম ফ্যাক্টর, যেহেতু ব্র্যাচল্যাগের প্রধান ফ্যাক্টর তালিকাগুলি বৃহত্তম থেকে ক্ষুদ্রের দিকে যায়। তারপরে আমি বর্গমূল ( $r), ডাবল ( *) নেব এবং এটি 90 ( <90) এর চেয়ে কম কিনা তা পরীক্ষা করে দেখি ।

আমাকে প্রথমে ইনপুট দ্বিগুণ করতে হয়েছিল কারণ 1 এর কোনও প্রধান উপাদান নেই (এবং এভাবে কোনও প্রথম মৌলিক উপাদান নেই)। এটি 2 এর অতিরিক্ত অতিরিক্ত মৌলিক যোগ করে, যা কোনও সংখ্যা 2017-অবনমিত কিনা তা প্রভাবিত করতে পারে না, তবে 1 পরিচালনা করার সময় ব্যর্থতা রোধ করে।


5

আসলে , 9 বাইট

τyM:44u²≥

ডেনিসকে প্রচুর বাইটের জন্য ধন্যবাদ!

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

ব্যাখ্যা:

τyM:44u²≥
τyM        largest prime factor of 2*input (doubled to deal with edge case of n = 1)
   :44u²   2025 (2027 is the next prime after 2017, so any number in [2017, 2026] can be used here - 2025 is very convenient)
        ≥  is 2025 greater than or equal to largest prime factor?

5

গণিত, 66 74 বাইট tes

U+F4A1নিষিদ্ধ এটি নির্দেশ করার জন্য ডেনিসকে ধন্যবাদ ।

Fold[Function[{x,d},And[x,Tr[Divisors@d^0]>6-4||d<44*46]],0<1,Divisors@#]&

ব্যাখ্যা:

Divisors@#: প্রথম যুক্তির পূর্ণসংখ্যা বিভাজকের তালিকা #

0<1: গল্ফ ফর True(চিঠির ব্যবহার এড়ানোও e)।

Divisors@d^0: {1, 1, ..., 1}বিভাজকের সংখ্যার সমান দৈর্ঘ্য সহ ফর্মের তালিকা d

Tr: একটি সমতল তালিকার জন্য, Trসেই তালিকার যোগফল প্রদান করে। সুতরাং Tr[Divisors@d^0]বিভাজকের সংখ্যা প্রদান করে d

Function[{x,d},And[x,Tr[Divisors@d^0]>6-4||d<44*46]]: দুটি আর্গুমেন্ট সহ xএবং বেনামে ফাংশন d। ধারণাটি হ'ল এটির dএকটি বিভাজক #এবং আমরা এটি পরীক্ষামূলকভাবে দেখতে পারি যে এটি হয় সম্মিলিত বা এর চেয়ে কম 2017(সমেত) এর চেয়ে কম less 2017-শক্তিটি এই শর্তটি সন্তুষ্টকারী সমস্ত বিভাজনের সমান। হিসাবে ais523 আবিষ্কৃত একটি মৌলিক কম হচ্ছে বা এর সমান 2017একটি মৌলিক কম হচ্ছে সমতূল্য 2025গ্রেগ মার্টিন যেমন উল্লেখ করেছেন, এটি এর চেয়ে কম কিনা তা পরীক্ষা করা যথেষ্ট 2024=44*46xএতক্ষণ যে সমস্ত বিভাজনকারী এসেছিল তারা এই সম্পত্তিটিকে সন্তুষ্ট করে কিনা তার পক্ষে যুক্তি একটি সংযোজন হিসাবে কাজ করে। তারপরে আমরা আরম্ভের মান সহ Foldসমস্ত বিভাজকের মাধ্যমে এই ফাংশনটি রেখে দিয়েছি#True, যেহেতু আমাদের Mapনাও অ্যাক্সেস রয়েছে /@


1
নিষেধাজ্ঞার মধ্য দিয়ে লড়াই করার উপায়!
গ্রেগ মার্টিন

2

05 এ বি 1 ই , 10 বাইট

fθ46n99-›È

সত্য হলে 1 প্রদান করে, অন্যথায় 0 দেয়।

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

ব্যাখ্যা

f          # Push the list of prime factors (ordered)
 θ         # Get the last element
  46n99-   # Push 2017 (46² - 99)
        >  # Push 1 if the last prime factor is greater than 2017, 0 otherwise
         È # Is the resulting number even ? Transforms 1 to 0 and 0 to 1.
           # Implicit display

পিপিসিজিতে আপনাকে স্বাগতম!
মার্টিন এন্ডার

1

এমএটিএল , 15 বাইট

t:\~ftZp*44QU<A

0অ-2017-অবনমিত বা 2017-অবনমিতের জন্য আউটপুট 1

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

এই প্রোগ্রামটি যাচাই করে যে সমস্ত বাইট সম্মিলিত।

ব্যাখ্যা

t       % Implicit input n. Duplicate
:       % Range [1 2 ... n]
\       % Modulo. Gives 0 for divisors of n
~f      % Indices of zero values
t       % Duplicate
Zp      % Is-prime. Gives 1 for primes, 0 for composites
*       % Multiply
44QU    % 44, add 1, square: 2025
<       % Less than, element-wise
A       % True (1) if all entries are nonzero

1

বাশ, 144 বাইট

এএসসিআইআই এনকোডিং:

{
printf '[ '
`tr D-Z _-z <<<KFH`tor $1|tr -d :|`tr B-Z _-z <<<JUH`p -o '[0-9]*$'
printf ' -lt $[24*86-46] ]'
}|tr \\n \ |`tr B-Z _-z <<<EDVK`

শেলের জন্য যথারীতি, প্রস্থান কোড সাফল্য (0) বা ব্যর্থতা (অ-0) নির্দেশ করে।

এটি কার্যকরভাবে একটি আলাদা বানান is

[ factor $1|tr -d :|grep -o '[0-9]*$' -lt 2018 ]

আমরা এর সাথে বৃহত্তম ফ্যাক্টরটি পাই factor $1|grep -o '[0-9]*$'; tr -d :ইনপুট = জন্য বিশেষ-কেস হয় 1

অভিব্যক্তিটি $[6*6*69-466]2018 এ মূল্যায়ন করে।

trকমান্ডের নামগুলি ব্যবহার করা এবং এখনও কমান্ড প্রতিস্থাপন ব্যবহার করা কঠিন ছিল - আমি নেস্টিং ফর্মটি ব্যবহার করতে পারিনি $( ), তাই ফলাফলটি মূল্যায়নের জন্য আমি অন্য বাশের কাছে পাইপিং শেষ করেছি।

পরীক্ষার ফলাফল:

$ for i in 1 2 80 2017 2019 2027 11111 45183 102349 999999 1234567 4068289; do printf '%d %s\n' $i `./105241.sh $i  && echo true || echo false`; done
1 true
2 true
80 true
2017 true
2019 true
2027 false
11111 true
45183 false
102349 false
999999 true
1234567 false
4068289 true

অক্ষর কোডগুলির নিশ্চয়তা:

$ grep -v '^#' ./105241.sh | perl -n -Mutf8 -E '$a = ord, print `factor $a` for split //, $_' | grep -v ': .* ' | wc -l
0




0

ব্রেনল্ফ , 11 বাইট [খুব অ-প্রতিদ্বন্দ্বী]

VRp#ߢ-?0:1

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

ߢসংখ্যাগুলির সাথে স্ক্রুগুলির কারণে অপঠনযোগ্য , তবে এখনও একজন দোভাষীর কাজ করে।

আমি এটি লেখার সময় চরিত্রের সীমাবদ্ধতাগুলিও লক্ষ্য করিনি, তবে আমাকে যা করতে হয়েছিল তা হল 2017 থেকে 2018 পর্যন্ত অদ্ভুত ইউনিকোড চরিত্রটি পরিবর্তন করা।

প্রদত্ত 2018 একটি মৌলিক নয়, যেকোনো মৌলিক সংখ্যা <= 2018হয়<= 2017

ব্যাখ্যা

VRp#ߢ-?0:1  Implicit input from command-line args
VR            Create stack2, return to stack1
  p           Split last item into prime factors, push each one to stack in asc order
   #ߢ         Push 2018
     -      Subtract last 2 items (highest prime factor - 2017)
      ?     If last item > 0..
       0    ..push 1
        :   Else..
         1  ..Push 1
            Implicit output of last item on stack
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.