किसी संख्या का सबसे बड़ा अभाज्य गुणनखंड ज्ञात करने के लिए जावा कोड निम्नलिखित है -
उदाहरण
import java.io.*; import java.util.*; public class Demo{ static long maxPrimeFactors( long val){ long max_prime = -1; while (val % 2 == 0) { max_prime = 2; val >>= 1; } for (int i = 3; i <= Math.sqrt(val); i += 2){ while (val % i == 0){ max_prime = i; val = val / i; } } if (val > 2) max_prime = val; return max_prime; } public static void main(String[] args){ int val = 148592; System.out.println("The largest prime factor of 148592 is "); System.out.println(maxPrimeFactors(val)); val = 890654; System.out.println("The largest prime factor of 890654 is "); System.out.println(maxPrimeFactors(val)); } }
आउटपुट
The largest prime factor of 148592 is 251 The largest prime factor of 890654 is 4591
डेमो नामक एक वर्ग में एक स्थिर फ़ंक्शन होता है जो एक मान बताता है, और एक 'जबकि' स्थिति परिभाषित की जाती है, जो जांचता है कि मान मॉड्यूलस 2 0 है या नहीं। यदि यह 0 है, तो, एक चर (max_prime) को मान 2 असाइन किया गया है। अन्यथा, इसे 1 से थोड़ा सा स्थानांतरित कर दिया जाता है। फिर से, एक 'फॉर' लूप को 3 से वर्गमूल के तत्वों पर पुनरावृत्त किया जाता है, और प्रत्येक पुनरावृत्ति के बाद 2 से बढ़ाया जाता है।
अब, एक 'जबकि' लूप जाँचता है कि क्या मान मापांक पुनरावर्तक 0 है। यदि हाँ, तो एक चर (max_prime) को वह मान दिया जाता है जिसे वर्तमान में पुनरावृत्त किया जा रहा है। मान को पुनरावृत्त मान से विभाजित किया जाता है। यदि यह मान 2 से अधिक है, तो यह मान (max_prime) max_prime नामक एक चर को सौंपा गया है। यह लौटा दिया जाता है। मुख्य फ़ंक्शन में, एक पूर्णांक मान परिभाषित किया जाता है और फ़ंक्शन को विशिष्ट तर्क के साथ कॉल करके सबसे बड़ा अभाज्य गुणक ज्ञात किया जाता है।