प्राथमिकता जांच शायद गणित में "उन" कठिन समस्याओं में से एक है। तो, एक बड़ी संख्या की वास्तविकता की जांच के लिए सबसे अच्छा और सबसे तेज़ एल्गोरिदम क्या उपलब्ध है। सबसे कच्चे तेल और शायद सबसे धीमी तरीका है:प्रारंभिकता जांच एल्गोरिदम
public static bool IsPrime(int i)
{
for (var x = 2; x < i - 1; i++)
{
if (i % x == 0)
{
return false;
}
}
return true;
}
हाल ही में मैंने पढ़ा है कि 768-बिट RSA एल्गोरिदम जानवर बल का उपयोग कर टूट गया है, एक ग्रिड कंप्यूटिंग सरणी का उपयोग कर। वे एक विशाल प्रधान संख्या पर ब्रूट फोर्स कैसे करते हैं? क्या प्रत्येक प्रसंस्करण इकाई संख्या की एक श्रृंखला लेती है, इसे कारक करती है और उस सीमा में मौजूद सभी संख्याओं की प्राथमिकता की जांच करती है?
क्या आपको केवल उस लूप की आवश्यकता नहीं है जिसे आप जिस संख्या में टाइप कर रहे हैं, उसे पाने के लिए आप की आवश्यकता है? उदाहरण के लिए यदि आपका नंबर 100 था, तो 50 सबसे बड़ी संख्या है जो संभवतः इसका कारक हो सकती है, नहीं? –
छत (वर्ग (i)) – swegi
की जांच करने के लिए आपको सबसे बड़ा कारक है, शायद मैं गूंगा हूं लेकिन मुझे लगता है कि फर्श (वर्ग (i)) आपको सबसे बड़ा कारक देखने की आवश्यकता है? –