منتدى طلاب القرم

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
منتدى طلاب القرم

منتدى دراسي

يرجى من الاعضاء ان ارادوا تحميل اي ملف يرجى رفعه من 4 شيرد
نتمنى للطلاب قضاء عطلة ممتعة
ان شاء الله قضيتو عطلة ممتعة وحان دور العودة الى المدارس

    التحليل الى العوامل الولية

    ali osaily
    ali osaily
    عضو مميز


    الابراج : السمك عدد المساهمات : 121
    نقاط : 351
    السٌّمعَة : 0
    تاريخ التسجيل : 24/03/2010
    العمر : 30
    الموقع : المصفح

    التحليل الى العوامل الولية Empty التحليل الى العوامل الولية

    مُساهمة  ali osaily الأربعاء أبريل 07, 2010 8:48 pm

    لتحليل العدد 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

      الوقت/التاريخ الآن هو الجمعة مايو 17, 2024 4:55 pm