لتحليل العدد X الى عوامله الأوليه ، يجب أن نختبر كل الأعداد الواقعه ضمن نطاق العدد X ، ونرى هل العدد التالي Y هو أولى ? وهل يقبل القسمه على العدد X الذي نريد تحليله ? .. فاذا تحقق الشرطين فهذا يعني أن هذا العدد Y هو أحد قواسم العدد X .
في البدايه قبل أن نبدأ بأي أختبار ، نختبر العدد X نفسه هل هو أولي أم لأ .. فاذا كان أولى بالتالي لا يوجد قواسم له ، وبالتالى نخرج من البرنامج .. أما اذا كان غير أولى فنقوم بتوضيح الطريقه التي ذكرتها أعلاه ... وهذه خوازرميه تسمى الtrial division وهي تقريبا أسهل طريقه لعمل integer factorization ..
قمت بكتابه داله isPrime ترجع لي هل العدد أولى أم لا .. لتسهيل العمليه ..
هذه هي الخوارزميه :
for (int i=2; i<=number; ){ if ( isPrime(i) && (number%i==0) ){ System.out.print(i + " " ); number /= i; } else i++; }
وهذا البرنامج ،
انسخ الكود
1. 2. 3.// Integer Factorization4.// Using Trial division5.// ArabTeam20006. 7.import java.util.Scanner ;8. 9.public class Demo {10.public static void main (String args[]) {11.Scanner input = new Scanner(System.in);12.System.out.print("Enter Number To Be Factorized : ");13.int number = input.nextInt();14. 15.if (isPrime(number) ) {16.System.out.println(number + " is prime Number !");17.System.exit(0);18.}19. 20.for (int i=2 ; i<=number ; ){21.if ( isPrime(i) && (number%i==0) ){22. System.out.print(i + " " );23. number /= i ;24.}25.else26. i++;27.}28. 29.}30. 31.static boolean isPrime (int n )32.{33.for (int i=2 ; i<= Math.sqrt(n) ; i++)34.if ( n%i == 0 )35. return false ;36. 37.// it's prime number 38.return true ;39.}40. 41.}42. 43. 44.
بالتوفيق
المصدر::-/www.arabteam2000-forum.com
في البدايه قبل أن نبدأ بأي أختبار ، نختبر العدد X نفسه هل هو أولي أم لأ .. فاذا كان أولى بالتالي لا يوجد قواسم له ، وبالتالى نخرج من البرنامج .. أما اذا كان غير أولى فنقوم بتوضيح الطريقه التي ذكرتها أعلاه ... وهذه خوازرميه تسمى الtrial division وهي تقريبا أسهل طريقه لعمل integer factorization ..
قمت بكتابه داله isPrime ترجع لي هل العدد أولى أم لا .. لتسهيل العمليه ..
هذه هي الخوارزميه :
for (int i=2; i<=number; ){ if ( isPrime(i) && (number%i==0) ){ System.out.print(i + " " ); number /= i; } else i++; }
وهذا البرنامج ،
انسخ الكود
1. 2. 3.// Integer Factorization4.// Using Trial division5.// ArabTeam20006. 7.import java.util.Scanner ;8. 9.public class Demo {10.public static void main (String args[]) {11.Scanner input = new Scanner(System.in);12.System.out.print("Enter Number To Be Factorized : ");13.int number = input.nextInt();14. 15.if (isPrime(number) ) {16.System.out.println(number + " is prime Number !");17.System.exit(0);18.}19. 20.for (int i=2 ; i<=number ; ){21.if ( isPrime(i) && (number%i==0) ){22. System.out.print(i + " " );23. number /= i ;24.}25.else26. i++;27.}28. 29.}30. 31.static boolean isPrime (int n )32.{33.for (int i=2 ; i<= Math.sqrt(n) ; i++)34.if ( n%i == 0 )35. return false ;36. 37.// it's prime number 38.return true ;39.}40. 41.}42. 43. 44.
بالتوفيق
المصدر::-/www.arabteam2000-forum.com