(मैं समस्या के विवरण को समझता हूं ताकि इनपुट नंबर एक निरंतरता से बंधे हों, इसलिए मैं बाध्यता पर निर्भरता को ट्रैक नहीं करूंगा।)
समस्या रैखिक समय और लघुगणक अंतरिक्ष में लघुगणक के योगों का उपयोग करने में हल करने योग्य है। अधिक विवरण में, एल्गोरिथ्म इस प्रकार है:
- बाइनरी काउंटर्स का उपयोग करके, दोनों सूचियों में प्रत्येक संभावित इनपुट नंबर की घटनाओं की संख्या की गणना करें।
इसमें समय लगता है , और काउंटर स्पेस O ( log n ) का उपयोग करते हैं , क्योंकि प्रत्येक काउंटर n मान से घिरा होता है ।ओ ( एन )ओ ( लॉग)n )n
चलो नीचे अभाज्य संख्या हो हे ( 1 ) के लिए बाध्य। एक नंबर के लिए प्रत्येक काउंटर वितरण द्वारा एक के प्रधानमंत्री कारकों को एक (उचित बहुलता के साथ), और अन्य सूची में से एक सूची के लिए मायने रखता है घटाकर, हम समय में निम्नलिखित प्राप्त हे ( लॉग एन ) :पी1, ... , पीकओ ( 1 )एएओ ( लॉग)n )
कंप्यूट पूर्णांकों के साथ हे ( लॉग एन ) इस तरह के बिट्स है कि समस्या के हस्ताक्षर का निर्धारण करने के बराबर है Λ : = Σ k मैं = 1 β मैं लॉग ऑन पी मैं ।β1, … , Βकओ ( लॉग)n )Λ : = Σकमैं = १βमैंलॉगपीमैं
अगर , जवाब है कि उत्पादों बराबर हैं।β1= ⋯ = βक= 0
अन्यथा । द्वारा बेकर की प्रमेय , हम बाध्य कम कर सकते हैं
| Λ | > 2 -
एक निश्चित स्थिर सी के लिए सी लॉग एन । इस प्रकार, निम्नलिखित सही ढंग के हस्ताक्षर की गणना करता है Λ :Λ ≠ 0
| Λ | > २- सीलॉगn
सीΛ
- आउटपुट के हस्ताक्षर , जहां π मैं का एक अनुमान है लॉग पी मैं करने के लिए मीटर : = सी लॉग n + कश्मीर + 1 सटीकता के टुकड़े।Σकमैं = १βमैंπमैंπमैंलॉगपीमैंमी : = सीलॉगएन + के + १
म( एम )मम( m ) = O ( m)लॉगम2ओ ( लॉग)*म ))ओ ( एम)2)लॉगपीमैंमओ ( एम)( एम ) लॉगम )Σमैंβमैंπमैंओ ( एम)( मीटर ) )ओ ( एम)( एम ) लॉगमीटर ) ⊆ हे ( लॉगnp o l y (लॉग करेंलॉगn ) )
ओ ( एन )