274 अंक
4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111
यह खोजने में लगभग 20 घंटे का सीपीयू समय लगा, और सिद्ध होने के लिए प्रति मिनट लगभग 2 मिनट। इसके विपरीत, 84 अंकों का समाधान लगभग 3 मिनट में पाया जा सकता है।
84 अंक
444444444444444444444444444444444444444444444444441111111113333333333333333333333333
77777777999999999999999777777777 (32 अंक)
66666666666666622222222222222333 (32 अंक)
647777777777777777777777777 (27 अंक)
44444441333333333333 (20 अंक)
999996677777777777 (18 अंक)
167777777777777 (15 अंक)
मैं इस उपकरण की सलाह देता हूं यदि आप मौलिकता की पुष्टि करना चाहते हैं: डी। एल्परन का ईसीएम एप्लेट
इसके अलावा एक repdigit दृष्टिकोण का उपयोग करते हुए, जो बड़े मूल्यों को खोजने के लिए सबसे अधिक संभावना वाला दृष्टिकोण है। निम्नलिखित लिपि एल्गोरिथ्मिक रूप से अधिकांश नंबरों या ट्रंकेशनों को छोड़ देती है, जिसके परिणामस्वरूप 2, 3, 5 और अब 11 c / o पीटरटायलर का गुणक होगा (उनके योगदान ने दक्षता को लगभग 50% बढ़ा दिया)।
from my_math import is_prime
sets = [
(set('147'), set('0147369'), set('1379')),
(set('369'), set('147'), set('1379')),
(set('369'), set('0369'), set('17')),
(set('258'), set('0258369'), set('39')),
(set('369'), set('258'), set('39'))]
div2or5 = set('024568')
for n in range(3, 100):
for sa, sb, sc in sets:
for a in sa:
for b in sb-set([a]):
bm1 = int(b in div2or5)
for c in sc-set([b]):
if int(a+b+c)%11 == 0: continue
for na in xrange(1, n-1, 1+(n&1)):
eb = n - na
for nb in xrange(1, eb-bm1, 1+(~eb&1)):
nc = eb - nb
if not is_prime(long(a*(na-1) + b*nb + c*nc)):
continue
if not is_prime(long(a*na + b*(nb-1) + c*nc)):
continue
if not is_prime(long(a*na + b*nb + c*(nc-1))):
continue
if not is_prime(long(a*na + b*nb + c*nc)):
continue
print a*na + b*nb + c*nc
my_math.py
यहां पाया जा सकता है: http://codepad.org/KtXsydxK
वैकल्पिक रूप से, आप gmpy.is_prime
फ़ंक्शन का उपयोग भी कर सकते हैं : GMPY Project
प्रोफाइलिंग के परिणामस्वरूप कुछ छोटी गति में सुधार। चार उम्मीदवारों में से सबसे लंबे समय तक की गई जाँच को अंतिम रूप में xrange
बदल दिया जाता है range
, और प्रकार की long
जगह बदल दी int
जाती है। int
लगता है कि अनावश्यक ओवरहेड है अगर मूल्यांकन अभिव्यक्ति एक में परिणाम है long
।
विभागीय नियम
बता दें कि N फॉर्म का एक पोस्टिवर पूर्णांक है a ... ab ... bc ... c , जहां a , b और c बार-बार अंक होते हैं।
2 और 5 तक
- द्वारा विभाज्यता से बचने के लिए 2 और 5 , सी सेट में नहीं हो सकता है [0, 2, 4, 5, 6, 8] । इसके अतिरिक्त, यदि b इस सेट का सदस्य है , तो c की लंबाई 2 से कम नहीं हो सकती है।
3 से
- यदि एन = 1 (मॉड 3) , तो एन में [1, 4, 7] में से कोई भी शामिल नहीं हो सकता है , क्योंकि इनमें से किसी को हटाने से 3 का बहु परिणाम होगा । इसी तरह N = 2 (mod 3) और [2, 5, 8] के लिए । यह कार्यान्वयन इसके थोड़ा कमजोर रूप का उपयोग करता है: यदि N में [1, 4, 7] में से एक है , तो इसमें कोई भी [2, 5, 8] और इसके विपरीत नहीं हो सकता है। इसके अतिरिक्त, N में केवल [0, 3, 6, 9] शामिल नहीं हो सकते हैं । यह काफी हद तक एक समकक्ष कथन है, लेकिन यह कुछ तुच्छ मामलों के लिए अनुमति देता है, उदाहरण के लिए ए , बी और सीप्रत्येक को 3 से अधिक बार दोहराया जा रहा है ।
11 तक
- पीटरटयलर नोटों के रूप में , यदि N फॉर्म aabbcc का है ... xxyyzz , अर्थात यह केवल कुछ ही बार दोहराए गए अंकों का है, यह 11 : a0b09 ... x0y0z द्वारा तुच्छ रूप से विभाज्य है । यह अवलोकन खोज स्थान का आधा भाग समाप्त कर देता है। यदि N विषम लंबाई का है, तो a , b और c की लंबाई भी विषम होनी चाहिए (75% खोज स्थान में कमी), और यदि N समान लंबाई का है, तो केवल a , b या c में से कोई भी हो सकता है लंबाई में (25% खोज स्थान में कमी)।
- अनुमान: यदि एबीसी 11 की एक बहु है , उदाहरण के लिए 407 , तो ए , बी और सी के सभी विषम दोहराव भी 11 के गुणक होंगे । यह 11 नियम द्वारा उपरोक्त विभाज्यता के दायरे से बाहर है ; वास्तव में, केवल विषम पुनरावृत्ति उन लोगों में से हैं जिन्हें स्पष्ट रूप से अनुमति दी जाती है। मेरे पास इसके लिए कोई प्रमाण नहीं है, लेकिन व्यवस्थित परीक्षण एक काउंटर-उदाहरण खोजने में असमर्थ था। तुलना करें: 444077777 , 44444000777 , 44444440000077777777777 , आदि। कोई भी इस अनुमान को गलत साबित करने या अस्वीकार करने के लिए स्वतंत्र महसूस कर सकता है। aditsu ने तब से इसे सही होने के लिए प्रदर्शित किया है।
अन्य रूप
दोहराए गए अंकों के 2 सेट
उस फॉर्म की संख्या जिसे रैंडम्रा पीछा कर रहा था, एक ... ab ... b , अधिक दुर्लभ प्रतीत होता है। 10 1700 से कम के केवल 7 समाधान हैं , जिनमें से सबसे बड़ी लंबाई 12 अंकों की है।
बार-बार अंकों के 4 सेट
इस फॉर्म की संख्या, a ... ab ... bc ... cd ... d , उन लोगों की तुलना में अधिक सघन रूप से वितरित होते हैं जिन्हें मैं खोज रहा था। दोहराए गए अंकों के 3 सेट का उपयोग करते हुए 32 की तुलना में 10 100 से कम 69 समाधान हैं । 10 से 11 और 10 के बीच 100 इस प्रकार हैं:
190000007777
700000011119
955666663333
47444444441111
66666622222399
280000000033333
1111333333334999
1111333333377779
1199999999900111
3355555666999999
2222233333000099
55555922222222233333
444444440004449999999
3366666633333333377777
3333333333999888883333
4441111113333333333311111
2222222293333333333333999999
999999999339999999977777777777
22222226666666222222222299999999
333333333333333333339944444444444999999999
559999999999933333333333339999999999999999
3333333333333333333111111111111666666666611111
11111111333330000000000000111111111111111111111
777777777770000000000000000000033333339999999999999999999999999
3333333333333333333333333333333333333333333333336666666977777777777777
666666666666666666611111113333337777777777777777777777777777777777777777
3333333333333333333888889999999999999999999999999999999999999999999999999933333333
इस मामले में ऐसा क्यों होना चाहिए, इसका एक सरल अनुमान तर्क है। प्रत्येक डिजिटल लंबाई के लिए, बार-बार सेट की एक संख्या होती है (अर्थात 3 दोहराया सेट, या 4 दोहराया सेट, आदि) जिसके लिए समाधान की अपेक्षित संख्या सबसे अधिक होगी। संक्रमण तब होता है जब अनुपात के रूप में लिए गए अतिरिक्त संभावित समाधानों की संख्या, इस संभावना को कम कर देती है कि अतिरिक्त संख्या की जाँच की जानी चाहिए। जांच करने की संभावनाओं की घातीय प्रकृति, और अभाज्य संख्या वितरण के लघुगणक प्रकृति को देखते हुए, यह अपेक्षाकृत जल्दी होता है।
यदि, उदाहरण के लिए, हम 300 अंकों का हल ढूंढना चाहते थे, तो दोहराए गए अंकों के 4 सेटों की जांच करने से 3 सेटों की तुलना में समाधान का उत्पादन करने की अधिक संभावना होगी, और 5 सेटों की अभी भी अधिक संभावना होगी। हालाँकि, मेरे पास जो कंप्यूटिंग शक्ति है, जो मेरे निपटान में है, 4 सेट के साथ 100 से अधिक अंकों का एक समाधान खोजना मेरी क्षमता से बाहर होगा, अकेले 5 या 6।
9901444133
(एक 9 का विलोपन) अभाज्य नहीं है (7 x 1414492019
)। आपका पिछला उदाहरण सही था, हालाँकि।