একটি সংখ্যার সবচেয়ে বড় মৌলিক গুণনীয়ক −
খুঁজে পেতে জাভা কোড নিচে দেওয়া হলউদাহরণ
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 দ্বারা বৃদ্ধি করা হয়।
এখন, একটি 'while' লুপ চেক করে যে মান মডুলাস ইটারেটর 0 হয় কিনা। যদি হ্যাঁ, একটি ভেরিয়েবল (max_prime) বর্তমানে যে মানটি পুনরাবৃত্তি করা হচ্ছে তা নির্ধারণ করা হয়। মানটিকে পুনরাবৃত্তি করা মান দ্বারা ভাগ করা হয়। যদি এই মানটি 2-এর বেশি হয়, তাহলে এই মানটি (max_prime) max_prime নামের একটি ভেরিয়েবলের জন্য নির্ধারিত হয়। এই ফেরত দেওয়া হয়. প্রধান ফাংশনে, একটি পূর্ণসংখ্যার মান সংজ্ঞায়িত করা হয় এবং নির্দিষ্ট আর্গুমেন্টের সাথে ফাংশনটিকে কল করার মাধ্যমে সবচেয়ে বড় প্রাইম ফ্যাক্টর খুঁজে পাওয়া যায়।