के लिए सत्यापन की आवश्यकता है मैंने किसी दिए गए नंबर के कारकों को खोजने के लिए एक एल्गोरिदम विकसित किया है। इस प्रकार यह यह जानने में भी मदद करता है कि दिया गया नंबर एक प्रमुख संख्या है या नहीं। मुझे लगता है कि यह कारकों या प्रमुख संख्याओं को खोजने के लिए सबसे तेज़ एल्गोरिदम है।मेरे पास रैखिक समय में कारकों या प्राइम खोजने के लिए एक नया एल्गोरिदम है - इस
यह एल्गोरिदम पाता है कि 5 * एन (जहां एन इनपुट संख्या है) के समय सीमा में एक देना संख्या प्रमुख है। तो मुझे उम्मीद है कि मैं इसे एक रैखिक समय एल्गोरिदम कह सकता हूं।
मैं कैसे सत्यापित कर सकता हूं कि यह सबसे तेज़ एल्गोरिदम उपलब्ध है या नहीं? क्या कोई इस मामले में मदद कर सकता है? (तेजी से GNFS और दूसरों जाना जाता है)
एल्गोरिथ्म
Input: A Number (whose factors is to be found)
Output: The two factor of the Number. If the one of the factor found is 1 then it can be concluded that the
Number is prime.
Integer N, mL, mR, r;
Integer temp1; // used for temporary data storage
mR = mL = square root of (N);
/*Check if perfect square*/
temp1 = mL * mR;
if temp1 equals N then
{
r = 0; //answer is found
End;
}
mR = N/mL; (have the value of mL less than mR)
r = N%mL;
while r not equals 0 do
{
mL = mL-1;
r = r+ mR;
temp1 = r/mL;
mR = mR + temp1;
r = r%mL;
}
End; //mR and mL has answer
नीचे दिया गया है प्रदान करें अपनी टिप्पणी .. न मुझे किसी भी अधिक जानकारी के लिए संपर्क करने में संकोच।
धन्यवाद, हरीश http://randomoneness.blogspot.com/2011/09/algorithm-to-find-factors-or-primes-in.html
यदि 2 से अधिक कारक हैं तो क्या होगा? आपके अच्छे प्रश्न और अच्छे परीक्षण के लिए – BlackBear
+1। मुझे विश्वास नहीं है कि आपका प्रश्न 68 बार देखा गया है, कि एक जवाब को +6 अपवॉट मिले और ** ** कोई भी ** आपको वोट नहीं दिया। तो टूटा हुआ है। सादा और सरल। प्रश्न पूछने वाले लोग प्रत्येक बार उत्तर उखाड़ फेंकना चाहिए। हो सकता है कि हर उत्तर अपवोट के लिए एक प्रतिनिधि बिंदु के 1/10 वें। – SyntaxT3rr0r
@ सिंटेक्सटी 3rr0r: ठीक है, सुझाव दें कि [मेटा] (http://meta.stackoverflow.com) पर (हालांकि मुझे लगता है कि यह [इस] जैसे प्रश्नों के प्रकाश में अस्वीकार कर दिया जाएगा (http://stackoverflow.com/questions/3 9 05734)) –