Ezzedine Shlibk نشر 20 سبتمبر 2020 أرسل تقرير نشر 20 سبتمبر 2020 اكتب برنامج لايجاد جميع الاعداد الاولية المزدوجه الاصغر من 100 الفرق بين كل من زوجين 2. متال (3,5) (5,7) (11,13) (17,19) (29,31) (41,43) (59,61) (71,73) 1 اقتباس
0 Mohammed Ahmed13 نشر 20 سبتمبر 2020 أرسل تقرير نشر 20 سبتمبر 2020 أهلا بك، يمكن تنفيذ المطلوب بالشكل التالي: public class MyClass{ // دالة لمعرفة ما إذا كان الرقم أولي static boolean isPrime(int n) { // إذا كان الرقم أصغر من 1 فهو غير أولي لأن الأعداد الأولية تبدأ من 2 if (n <= 1) return false; // نقوم بالمرور على جميع الأعداد الأصغر من الرقم المراد التحقق منه for (int i = 2; i < n; i++) // إذا كان هنالك عدد أصغر يقبل القسمة على الرقم المتحقق منه فهو غير أولي if (n % i == 0) return false; // إذا قمنا بتجاوز جميع الحالات فهذا يعني أن العدد أولي return true; } public static void main(String []args){ // حلقة للمرور على جميع الأعداد بين 2 و 100 for(int i = 2; i < 100; i++){ // إذا كان العدد الحالي أولي والعدد الذي يليه بمنزلتين أولي أيضا نقوم بطباعتهما if(isPrime(i) && isPrime(i + 2)){ System.out.println("(" + i + "," + (i + 2) + ")"); } } } } 1 اقتباس
0 Wael Aljamal نشر 20 سبتمبر 2020 أرسل تقرير نشر 20 سبتمبر 2020 (معدل) لدينا خوارزمية sieve التي تقوم بإيجاد الأعداد الأولية بتعقيد زمني سريع (يفضل استخدامها) class SieveOfEratosthenes { void sieveOfEratosthenes(int n) { // إنشاء مصفوفة بوليانية و تهيئتها "prime[0..n]" // true نفرض جميع الأعداد أولية عن طريق إعطاء القيمة // في حال كان مضاعفا لعدد آخر false كل عدد سنضع قيمة boolean prime[] = new boolean[n+1]; for(int i=0;i<n;i++) prime[i] = true; for(int p = 2; p*p <=n; p++) { // بدون تغيير فهو عدد أولي i إذا بقيت قيمة العنصر if(prime[p] == true) { // قاسم لها i ,وجعلها غير أولية i تعديل مضاعفات العدد for(int i = p*p; i <= n; i += p) prime[i] = false; } } // طباعة الأعداد الأولية for(int i = 5; i <= n; i++) // نلاحظ أن الثنائية 3-5 هي أول ثنائية مقبولة فنبدأ من العدد 5 { if(prime[i] == true && prime[i-2] == true) // 2 مع العدد الأصغر منه ب i نختبرالعدد System.out.println( "(" + (i-2) + "," + i + ")" ); } } // اختبار الدالة أعلاه public static void main(String args[]) { int n = 100; System.out.print("Following are the prime numbers "); System.out.println("smaller than or equal to " + n); SieveOfEratosthenes g = new SieveOfEratosthenes(); g.sieveOfEratosthenes(n); } } تم التعديل في 20 سبتمبر 2020 بواسطة Wael Aljamal اقتباس
السؤال
Ezzedine Shlibk
اكتب برنامج لايجاد جميع الاعداد الاولية المزدوجه الاصغر من 100 الفرق بين كل من زوجين 2. متال
(3,5)
(5,7)
(11,13)
(17,19)
(29,31)
(41,43)
(59,61)
(71,73)
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.