एक ट्विस्ट के साथ सबसे छोटा प्रधान (A068103)


33

हाथ में कार्य है, एक नंबर दिया गया है, nसबसे छोटा प्राइम ढूंढें जो कि नंबर की शुरुआत में एटी लेस्ट n से शुरू होता है 2। यह एक अनुक्रम है जो मुझे OEIS ( A068103 ) पर मिला है ।

अनुक्रम में पहले 17 नंबर नीचे दिए गए हैं, यदि आप अधिक चाहते हैं तो मुझे वास्तव में अनुक्रम को लागू करना होगा, जो मुझे बुरा नहीं लगता।

0  = 2
1  = 2
2  = 223
3  = 2221
4  = 22229
5  = 2222203
6  = 22222223                # Notice how 6 and 7 are the same! 
7  = 22222223                # It must be **AT LEAST** 6, but no more than necessary.
8  = 222222227
9  = 22222222223             # Notice how 9 and 10 are the same!
10 = 22222222223             # It must be **AT LEAST** 9, but no more than necessary.
11 = 2222222222243
12 = 22222222222201
13 = 22222222222229
14 = 222222222222227
15 = 222222222222222043
16 = 222222222222222221

बस सोचा था कि यह स्ट्रिंग हेरफेर, प्राइम डिटेक्शन और सीक्वेंस का एक अच्छा संयोजन होगा। यह , सबसे कम बाइट गिनती को महीने के अंत में संभवतः विजेता घोषित किया जाएगा।


5
क्या हमारे द्वारा उपयोग किए जाने वाले इनपुट की कितनी उच्च सीमा है?
ETHproductions

1
क्या कोई समय सीमा है?
ब्रैड गिल्बर्ट २

@ETHProductions क्षमा करें, यह लिखने के बाद जल्दी से चले गए। यदि आपको अपने इनपुट को सीमित करना है, तो सीमा को इस बात का तार्किक तर्क दिया जाना चाहिए कि भाषा संख्या से अधिक समर्थन क्यों नहीं करती है x। उदाहरण के लिए यदि आपकी भाषा केवल 32-बिट पूर्णांक का समर्थन करती है, तो आप उसे समझा सकते हैं।
मैजिक ऑक्टोपस Urn

जवाबों:


12

ब्रेकीलॉग , 12 11 बाइट्स

:2rj:Acb#p=

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

यह सीधे ब्रेचीलॉग में अनुवाद करता है। यह एक फ़ंक्शन है, एक पूर्ण कार्यक्रम नहीं है (हालांकि Zकमांड-लाइन तर्क के रूप में दुभाषिया देने से यह एक कार्यक्रम में फ़ंक्शन बनाने के लिए उपयुक्त आवरण जोड़ने के लिए है; यही मैंने TIO लिंक कार्य करने के लिए किया था)। यह भी काफी दुर्भाग्यपूर्ण है जो j-1-अनुक्रमित प्रतीत होता है और इसके लिए अनुमति देने के लिए एक सुधार की आवश्यकता है।

आप एक उचित तर्क दे सकते हैं जो =आवश्यक नहीं है, लेकिन मुझे लगता है कि जिस तरह से समस्या का शब्द है, उसे देखते हुए यह है; बिना, समारोह सभी प्रमुख संख्या है कि दी गई संख्या के साथ शुरू के सेट का वर्णन है 2, और कुछ स्पष्ट बयान है कि कार्यक्रम चाहिए बिना कर इस विवरण के साथ कुछ (इस मामले में, पहले मूल्य पैदा करने), यह शायद नहीं है कल्पना के साथ अनुपालन।

व्याख्या

:2rjbAcb#p=
:2rj         2 repeated a number of times equal to the input plus one
    :Ac      with something appended to it
       b     minus the first element
        #p   is prime;
          =  figure out what the resulting values are and return them

जब एक पूर्णांक को वापस करने वाले फ़ंक्शन के रूप में उपयोग किया जाता है, तो कुछ भी पहले मानों का अनुरोध नहीं करता है, इसलिए सबसे पहले हमें चिंता करना होगा।

एक सूक्ष्मता (टिप्पणियों में इंगित): :Acbऔर b:Acगणितीय रूप से समतुल्य हैं (जैसा कि एक प्रारंभ से हटाता है और दूसरा अंत में जोड़ता है, कभी अतिव्यापी के बीच के क्षेत्र के साथ); मेरे पास पहले से था b:Ac, जो अधिक प्राकृतिक है, लेकिन यह इनपुट 0 पर टूट जाता है (जो मैं अनुमान लगा रहा हूं, क्योंकि cकिसी भी चीज़ के लिए एक खाली सूची को अस्वीकार करने से इनकार करता है; कई ब्रैकीग्लॉट बिल्डिंस किसी कारण से खाली सूची पर टूट जाते हैं)। :Acbयह सुनिश्चित करता है कि cकभी भी एक खाली सूची नहीं देखनी चाहिए, जिसका अर्थ है कि इनपुट 0 का मामला अब भी काम कर सकता है।


@ मुंडीफिश: यह करता है। हालांकि, यह 0बिना किसी स्पष्ट कारण के लिए काम नहीं करता था (कुछ कारणों से ब्रेकीलॉग को जीरो से एलर्जी प्रतीत होती है; मुझे संदेह है कि cयह जिम्मेदार है)। उस ने कहा, यह तय करना काफी आसान है, इसलिए मैं इसे ठीक कर दूंगा।

b:Ac0आपके द्वारा प्राप्त इनपुट के लिए काम नहीं करता है 2b:Ac: 2bदेता है 0और आप cएक अग्रणी शून्य के साथ उपयोग नहीं कर सकते हैं । इसका कारण सामान्य मामले में अनंत छोरों से बचने के लिए है जहां आप हमेशा एक शून्य बना सकते हैं और एक ही परिणाम हो सकते हैं।
घातक

इसके अलावा, आप इसे एक बाइट के :2rjबजाय छोटा करके लिख सकते हैं,2:?j
घातक

मैं भूल गया r; यह सिर्फ एक सादे सुधार है। मुझे समझ में आ रहा है कि cआप क्या कर रहे हैं (जब आप पीछे की ओर भागते हैं तो असीम रूप से कई परिणाम नहीं चाहते हैं); हालाँकि, एक संभावित सुधार यह है कि पतित इनपुट्स को केवल तब ही समाप्त करना है जब वे अनबाउंड हों, जबकि उन्हें अनुमति दे जब इनपुट पहले से ही एक पतित मान से बंधा हो।

यह निश्चित रूप से उल्लेखनीय है और मैं इसे जीथब ट्रैकर में जोड़ दूंगा। हालांकि कॉन्टेनेट का कार्यान्वयन पहले से ही लगभग 100 लाइनों लंबा है जो कि एक प्रोलॉग डेडिकेटेट के लिए बहुत कुछ है।
घातक

15

जावा (ओपनजेडके 8) , 164 110 बाइट्स

a->{int i=0;for(;!(i+"").matches("2{"+a+"}.*")|new String(new char[i]).matches(".?|(..+)\\1+");i++);return i;}

बाइट्स के एक गुच्छा के लिए @FryAmTheEggman को धन्यवाद!

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


2
क्या आप बता सकते हैं कि मुख्य रूप से रेगेक्स कैसे काम करता है?
जे एंटोनियो पेरेज़

मुझे पता नहीं है। यह मेरा नहीं है, और मुझे नहीं पता कि मूल निर्माता कौन है। मैं अभी है कि लंबाई n की एक स्ट्रिंग लेता है और मेल खाता है अगर n प्रधानमंत्री नहीं है।
पावेल

क्या आप जानते हैं कि मूल स्रोत क्या है? आपने इसके बारे में कहाँ सीखा? क्या आपने अपने कोड का परीक्षण किया है?
जे। एंटोनियो पेरेज़

3
@Pavel कि primality check regex इस उत्तर को आश्चर्यजनक बनाता है, भले ही आपने इसे नहीं बनाया हो। आपको इसे "जावा में गोल्फ के लिए टिप्स" धागे में जोड़ना चाहिए।
मैजिक ऑक्टोपस Urn

3
मैं अभी कोड का परीक्षण नहीं कर सकता, लेकिन मुझे पूरा यकीन है कि रेगेक्स इस तरह काम करता है: new String(new char[i]))संख्या के बराबर लंबाई का एक समान स्ट्रिंग बनाता है। फिर रेगेक्स एक समग्र संख्या से मिलान करके जाँच करता है कि अंकों के एक सेट को दोहराने से पूरी स्ट्रिंग (मूल रूप से परीक्षण विभाजन) फिट बैठता है। अगर मैं सही हूं, तो इसका मतलब है कि आपको दूसरे भाग को नहीं करने में सक्षम होना चाहिए ?, मैं आपको कंप्यूटर के लिए सुनिश्चित करने के लिए आपको बता दूंगा।
FryAmTheEggman

5

पायथ, 12 बाइट्स

f&!x`T*Q\2P_

छद्मकोश में:

f                key_of_first_truthy_value( lambda T:
  !                  not (
   x`T*Q\2               repr(T).index(input()*'2')
                     )
 &                   and
          P_T        is_prime(T)
                 )

लूप्स lambdaसे शुरू T=1, 1 से incrementing जब तक हालत संतुष्ट हो जाता है। 2S की स्ट्रिंग स्ट्रिंग की शुरुआत से एक विकल्प होनी चाहिए, यानी इंडेक्स विधि को वापस करने की आवश्यकता है 0। यदि विकल्प नहीं पाया जाता है तो यह वापस आ जाता है -1जो सुविधाजनक रूप से सत्य भी है, इसलिए कोई असाधारण मामला मौजूद नहीं है।

आप इसे यहाँ ऑनलाइन आज़मा सकते हैं , लेकिन सर्वर केवल इनपुट के लिए अनुमति देता है 4


4

पर्ल, 50 बाइट्स

कोड + -pध्वज के 49 बाइट्स ।

++$\=~/^2{$_}/&&(1x$\)!~/^1?$|^(11+)\1+$/||redo}{

अंतिम न्यूलाइन के बिना इनपुट की आपूर्ति करें। उदाहरण के लिए:

echo -n 4 | perl -pE '++$\=~/^2{$_}/&&(1x$\)!~/^1?$|^(11+)\1+$/||redo}{'

यह संख्याओं को चलाने के लिए 4 से अधिक समय लेता है क्योंकि यह प्रत्येक संख्या का परीक्षण करता है (2 परीक्षण होते हैं: पहला एक /^2{$_}/चेक अगर शुरुआत में पर्याप्त 2 है, और दूसरा एक (1x$\)!~/^1?$|^(11+)\1+$/परीक्षण के लिए (बहुत खराब प्रदर्शन के साथ)।


3

हास्केल, 73 बाइट्स

f n=[x|x<-[2..],all((>0).mod x)[3..x-1],take n(show x)==([1..n]>>"2")]!!0

प्रयोग उदाहरण: f 3-> 2221

पाशविक बल। s [1..n]>>"2"की एक सूची बनाता है, n 2जिसकी तुलना nवर्तमान प्रधान के स्ट्रिंग प्रतिनिधित्व में पहले वर्णों से की जाती है।


3

गणितज्ञ, 103 बाइट्स

ReplaceRepeated[0,i_/;!IntegerDigits@i~MatchQ~{2~Repeated~{#},___}||!PrimeQ@i:>i+1,MaxIterations->∞]&

एक nonnegative पूर्णांक तर्क ले रहा है #और एक पूर्णांक लौटा रहा है। यह शाब्दिक रूप से सभी सकारात्मक पूर्णांकों का परीक्षण करता है जब तक कि यह एक ऐसा नहीं मिलता है जो दोनों #2s से शुरू होता है और प्रमुख होता है। 5 से ऊपर के इनपुट के लिए बहुत धीमी गति से।

पिछला परिणाम: गणितज्ञ, 155 बाइट्स

यदि यह इतनी दृढ़ता से टाइप नहीं किया गया था, तो गणितज्ञ गोल्फ के लिए बेहतर होगा; हमें पूर्णांक / सूची / स्ट्रिंग प्रकारों के बीच स्पष्ट रूप से आगे और पीछे स्विच करना होगा।

(d=FromDigits)[2&~Array~#~Join~{1}//.{j___,k_}/;!PrimeQ@d@{j,k}:>({j,k+1}//.{a__,b_,10,c___}->{a,b+1,0,c}/.{a:Repeated[2,#-1],3,b:0..}->{a,2,0,b})]/. 23->2&

यह एल्गोरिथ्म अंकों की सूचियों पर संचालित होता है , अजीब तरह से, के साथ शुरू होता है {2,...,2,1}। जब तक उन अभाज्य संख्याओं के अंक नहीं होते हैं, वे नियम का उपयोग करते हुए एक को अंतिम अंक में जोड़ते हैं {j___,k_}/;!PrimeQ@d@{j,k}:>({j,k+1}... और फिर मैन्युअल रूप से लागू होने वाले अंकों को एक-से-एक-अगले-अंकों तक ले जाते हैं जब तक कि कोई भी नियम का उपयोग करते हुए अंक 10 के बराबर {a__,b_,10,c___}->{a,b+1,0,c}... और फिर, अगर हम इतने आगे बढ़ गए हैं कि अग्रणी 2एस के अंतिम में बदल गया है 3, तो नियम का उपयोग करते हुए अंत में एक और अंक के साथ शुरू होता है {a,b+1,0,c}/.{a:Repeated[2,#-1],3,b:0..}->{a,2,0,b}/. 23->2अंत में सिर्फ विशेष मामले में जहां इनपुट है ठीक करता है 1सबसे अभाज्य संख्या में समाप्त नहीं कर सकते हैं: 2, लेकिन 2कर सकते हैं। (कुछ त्रुटियों आदानों पर बाहर थूक दिया जाता है 0और 1है, लेकिन समारोह सही जवाब की राह पाता है।)

यह एल्गोरिथ्म काफी तेज है: उदाहरण के लिए, मेरे लैपटॉप पर यह गणना करने में 3 सेकंड से भी कम समय लगता है कि पहला प्राइम 1,000 2s से शुरू होता है 22...220521


2

पायथ, 17 बाइट्स

f&q\2{<`T|Q1}TPTh

n = 4ऑनलाइन हल करने के लिए प्रतीत नहीं कर सकते , लेकिन यह सिद्धांत में सही है।

व्याख्या

               Th    Starting from (input)+1, 
f                    find the first T so that
      <              the first
          Q          (input) characters
         | 1         or 1 character, if (input) == 0
       `T            of T's string representation
     {               with duplicates removed
  q\2                equal "2", 
 &                   and
            }T       T is found in
              PT     the list of T's prime factors.




2

ऋषि, 69 68 बाइट्स

lambda n:(x for x in Primes()if '2'*len(`x`)=>'2'*n==`x`[:n]).next()

असीम रूप से कई शर्तों के पहले (इसलिए सबसे छोटा) को खोजने के लिए एक जनरेटर का उपयोग करता है।


2

जाप, 20 बाइट्स

L²o@'2pU +Xs s1)nÃæj

इसे ऑनलाइन टेस्ट करें! यह 14 तक के सभी इनपुट के लिए मेरी मशीन पर दो सेकंड के भीतर खत्म हो जाता है, और उसके बाद यह स्वाभाविक रूप से परिशुद्धता खो देता है (जावास्क्रिप्ट केवल पूर्णांक सटीक है 2 53 तक )।

इस पर काम करने के लिए @obarakon को बहुत धन्यवाद :-)

व्याख्या

                       // Implicit: U = input integer, L = 100
L²o                    // Generate the range [0...100²).
   @             Ã     // Map each item X through the following function:
    '2pU               //   Take a string of U "2"s.
         +Xs s1)n      //   Append all but the first digit of X, and cast to a number.
                       // If U = 3, we now have the list [222, 222, ..., 2220, 2221, ..., 222999].
                  æ    // Take the first item that returns a truthy value when:
                   j   //   it is checked for primality.
                       // This returns the first prime in the forementioned list.
                       // Implicit: output result of last expression

Japt के नवीनतम संस्करण में, यह 12 बाइट्स हो सकता है:

_n j}b!+'2pU   // Implicit: U = input integer
_   }b         // Return the first non-negative bijective base-10 integer that returns
               // a truthy value when run through this function, but first,
      !+       //   prepend to each integer
        '2pU   //   a string of U '2's.
               // Now back to the filter function:
 n j           //   Cast to a number and check for primality.
               // Implicit: output result of last expression

इसे ऑनलाइन टेस्ट करें! यह 14 तक सभी इनपुट के लिए मेरी मशीन पर आधे सेकंड के भीतर खत्म हो जाता है।


महान समाधान!
ओलिवर

यह इनपुट 5 पर विफल रहता है, क्योंकि आप कभी भी परीक्षण नहीं करते हैं 2222203, केवल 222223और उसके बाद जल्द ही 2222210। यह किसी भी इनपुट पर विफल रहता है जिसके लिए 2s स्ट्रिंग के बाद तीन या अधिक अतिरिक्त अंकों की आवश्यकता होती है , जैसे इनपुट 15.
ग्रेग मार्टिन

@GregMartin डार, तुम सही हो। 5 बाइट्स की कीमत पर तय किया गया।
ETHproductions

यह परीक्षण के मामलों को ठीक करता है, लेकिन एल्गोरिथ्म अभी भी मानता है कि एक प्राइम को खोजने के लिए तीन से अधिक अंकों को कभी नहीं जोड़ना होगा, जो कि बड़े इनपुट के लिए गलत हो सकता है।
ग्रेग मार्टिन

@GregMartin 14 तक के सभी परीक्षण मामलों के लिए काम करता है, और JS 15. केस में पूर्णांक सटीक समस्याओं में चलता है। मुझे नहीं लगता कि एल्गोरिथ्म को सैद्धांतिक रूप से पिछले 2 ^ 53 को सही करने की आवश्यकता है, लेकिन शायद मैं गलत हूं ...
ETHproductions

2

PHP, 76 बाइट्स

for($h=str_pad(2,$i=$argv[1],2);$i>1;)for($i=$p=$h.++$n;$p%--$i;);echo$p?:2;

कमांड लाइन तर्क से इनपुट लेता है। साथ चलाना -r

टूट - फूट

for($h=str_pad(2,$i=$argv[1],2) # init $h to required head
    ;$i>1;                      # start loop if $p>2; continue while $p is not prime
)
    for($i=$p=$h.++$n               # 1. $p = next number starting with $h
                                    #    (first iteration: $p is even and >2 => no prime)
    ;$p%--$i;);                     # 2. loop until $i<$p and $p%$i==0 ($i=1 for primes)
echo$p?:2;                      # print result; `2` if $p is unset (= loop not started)

1

बैश (+ कोरुटिल्स), 53 बाइट्स

2 ^ 63-1 (9223372036854775807) तक काम करता है , एन> 8 के लिए समाप्त होने में काफी समय लगता है।

golfed

seq $[2**63-1]|factor|grep -Pom1 "^2{$1}.*(?=: \S*$)"

परीक्षा

>seq 0 7|xargs -L1 ./twist

2
2
223
2221
22229
2222203
22222223
22222223

1

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

w=2,3,5,7,11,13,17,19,23,29,31,37,41
def p(n):
 for q in w:
  if n%q<1:return n==q
  if q*q>n:return 1
 m=n-1;s,d=-1,m
 while d%2==0:s,d=s+1,d//2
 for a in w:
  x=pow(a,d,n)
  if x in(1,m):continue
  for _ in range(s):
   x=x*x%n
   if x==1:return 0
   if x==m:break
  else:return 0
 return 1
def f(i):
 if i<2:return 2
 k=1
 while k:
  k*=10;l=int('2'*i)*k
  for n in range(l+1,l+k,2):
   if p(n):return n

परीक्षण कोड

for i in range(31):
    print('{:2} = {}'.format(i, f(i)))

परीक्षण उत्पादन

 0 = 2
 1 = 2
 2 = 223
 3 = 2221
 4 = 22229
 5 = 2222203
 6 = 22222223
 7 = 22222223
 8 = 222222227
 9 = 22222222223
10 = 22222222223
11 = 2222222222243
12 = 22222222222201
13 = 22222222222229
14 = 222222222222227
15 = 222222222222222043
16 = 222222222222222221
17 = 222222222222222221
18 = 22222222222222222253
19 = 222222222222222222277
20 = 2222222222222222222239
21 = 22222222222222222222201
22 = 222222222222222222222283
23 = 2222222222222222222222237
24 = 22222222222222222222222219
25 = 222222222222222222222222239
26 = 2222222222222222222222222209
27 = 2222222222222222222222222227
28 = 222222222222222222222222222269
29 = 2222222222222222222222222222201
30 = 222222222222222222222222222222053

मैंने बाइट के आकार के बजाय एक बड़ी रेंज में गति के लिए जाने का फैसला किया। :) मैं एक निर्धारक मिलर-राबिन मौलिकता परीक्षण का उपयोग करता हूं जो गवाहों के इस सेट के साथ 3317044064679887385961981 तक की गारंटी है। बड़े अपराध हमेशा परीक्षण को सफलतापूर्वक पास करेंगे, लेकिन कुछ कंपोजिट भी पास हो सकते हैं, हालांकि संभावना बहुत कम है। हालाँकि, मैंने i> 22 के लिए आउटपुट संख्याओं का परीक्षण pyecm एक अण्डाकार वक्र गुणन कार्यक्रम का उपयोग करके किया , और वे प्रमुख प्रतीत होते हैं।


1
सबसे पहले: सबमिशन के लिए सही आउटपुट की संभावना 1 मौका होना चाहिए। दूसरी बात, यह कोडगोल्फ है, इसलिए आपको वास्तव में बाइट के लिए जाना होगा। इसके अलावा, अच्छा
विनाशकारी नींबू

1
@DestructibleWatermelon धन्यवाद! बाइट आकार के लिए जाने के बारे में उचित बिंदु। मुझे लगता है कि मैं कॉल को इनलाइन कर सकता हूं p()... OTOH, यह काफी छोटा प्रोग्राम लिखना मुश्किल होगा जो i> 20 के लिए एक सेकंड के तहत सही आउटपुट दे सकता है (जो कि अंतर्निहित कॉल करके "धोखा" नहीं देता है primality checker)। :)
PM 2Ring

कई प्रोग्राम 33 अंकों की संख्या (n: = 30) को संभाल नहीं सकते। यह देखते हुए कि ओपी का स्वर्ण मानक केवल 18 अंकों तक जाता है और उसके द्वारा निर्धारित की गई कोई सीमा नहीं है, इसलिए यह मान लेना उचित है कि n: = 30 पर्याप्त IMO है।
user3819867

@ PM2Ring यह "एक सेकंड के तहत" में होने की जरूरत नहीं है। कोड को जितना हो सके उतना कम करें, और पूरी तरह से गति को अनदेखा करें। यही [कोड-गोल्फ] की भावना है। एक बार गोल्फ में उतरने के बाद मैं अपने डाउनवोट को बदल दूंगा।
mbomb007

वास्तव में, अगर यह सीमा तक सही आउटपुट का उत्पादन करता है, तो उत्तर प्रायिकता के साथ काम करता है।
विनाशकारी नींबू

1

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

def f(x):
 k=10;p=2*(k**x//9)
 while x>1:
  for n in range(p*k,p*k+k):
   if all(n%q for q in range(2,n)):return n
  k*=10
 return 2

प्रदर्शन की किसी भी उम्मीद को एक छोटी बाइट गिनती के लिए बलिदान किया गया है।


-1

जावा, 163 बाइट्स

BigInteger f(int a){for(int x=1;x>0;x+=2){BigInteger b=new BigInteger(new String(new char[a]).replace("\0","2")+x);if(b.isProbablePrime(99))return b;}return null;}

परीक्षण कोड

    public static void main(String[] args) {
    for(int i = 2; i < 65; i++)
        System.out.println(i + " " + new Test20170105().f(i));
    }

उत्पादन:

2 223
3 2221
4 22229
5 2222219
6 22222223
7 22222223
8 222222227
9 22222222223
10 22222222223
11 2222222222243
12 22222222222229
13 22222222222229
14 222222222222227
15 222222222222222143
16 222222222222222221
17 222222222222222221
18 22222222222222222253
19 222222222222222222277
20 2222222222222222222239
21 22222222222222222222261
22 222222222222222222222283
23 2222222222222222222222237
24 22222222222222222222222219
25 222222222222222222222222239
26 2222222222222222222222222213
27 2222222222222222222222222227
28 222222222222222222222222222269
29 22222222222222222222222222222133
30 222222222222222222222222222222113
31 222222222222222222222222222222257
32 2222222222222222222222222222222243
33 22222222222222222222222222222222261
34 222222222222222222222222222222222223
35 222222222222222222222222222222222223
36 22222222222222222222222222222222222273
37 222222222222222222222222222222222222241
38 2222222222222222222222222222222222222287
39 22222222222222222222222222222222222222271
40 2222222222222222222222222222222222222222357
41 22222222222222222222222222222222222222222339
42 222222222222222222222222222222222222222222109
43 222222222222222222222222222222222222222222281
44 2222222222222222222222222222222222222222222297
45 22222222222222222222222222222222222222222222273
46 222222222222222222222222222222222222222222222253
47 2222222222222222222222222222222222222222222222219
48 22222222222222222222222222222222222222222222222219
49 2222222222222222222222222222222222222222222222222113
50 2222222222222222222222222222222222222222222222222279
51 22222222222222222222222222222222222222222222222222289
52 2222222222222222222222222222222222222222222222222222449
53 22222222222222222222222222222222222222222222222222222169
54 222222222222222222222222222222222222222222222222222222251
55 222222222222222222222222222222222222222222222222222222251
56 2222222222222222222222222222222222222222222222222222222213
57 222222222222222222222222222222222222222222222222222222222449
58 2222222222222222222222222222222222222222222222222222222222137
59 22222222222222222222222222222222222222222222222222222222222373
60 222222222222222222222222222222222222222222222222222222222222563
61 2222222222222222222222222222222222222222222222222222222222222129
62 2222222222222222222222222222222222222222222222222222222222222227
63 2222222222222222222222222222222222222222222222222222222222222227
64 2222222222222222222222222222222222222222222222222222222222222222203

582.5858 मिलीसेकंड

स्पष्टीकरण: पूर्णांक पर छोरों और उन्हें जड़ स्ट्रिंग के रूप में जोड़ता है, जो कि "2" का स्ट्रिंग है, और सत्यापित करता है कि यह प्रधान है या नहीं।


3
isProbablePrimeकभी-कभी झूठी सकारात्मकता होती है । यह उत्तर को अमान्य कर देगा, क्योंकि ऐसी परिस्थितियां हैं जिनमें यह गलत मान लौटाता है।

गलती की संभावना 2 ^ -99 से कम है ( प्रलेखन देखें )।
सामले Sam Sam Sam

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