الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

determint prime number with small wrong in put

بدأه باسعيد في 7 مايو 2010 · 1 رد · 556 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كود يحد اذ الرقم اولي او غير اولي اذا كان غير اولي يحسب قواسم العدد

شرط العدد الأولي اي عدد لايقبل القسة على اي عدد يكون أصغر اويساوي جذر التربيعي للعدد الاولي

كتبت الكود لكن بال run اذا دخلت 10كل واحد على حده و14و15و18,21و

24,28,27,22

يعطيني انه رقم اولي وهم غير ذلك

ماهو الخطأ اللذي أرتبكته لم أنتبه له...

CODE

   import java.util.*;
    public class Prime_number {
      static Scanner in=new Scanner(System.in);
       public static void main(String[] args) {
         System.out.println("enter number  ");

         int num = in.nextInt();

         int i=0;boolean Prime=false;

         while (num<=30||num>=0){
            int Squeer = (int) Math.ceil(Math.sqrt(num));

            if ((num !=  Squeer) && (num %  Squeer == 0)) {
               Prime = false;
               System.out.println(Prime+"...the number "+"\""+num+"\""+" is not prime");
               System.out.print("It's divisors are  ");

            //for loop for determint the diviores the num
               for(int m=1;m<=num;m++){
                  if(num%m==0)
                     System.out.print(m+" ");
               }

               break;
            } 
            else if (!Prime) {
               Prime = true;
               System.out.println(Prime+"...the number "+"\""+num+"\""+" is prime");
               break;

            }
				-- Squeer;

         }

      } 
   }

Example Run

:

enter number

10

true...the number "10" is prim

enter number

9

false...the number "9" is not prime

It's divisors are 1 3 9

#2
باسعيد كتب:

السلام عليكم ورحمة الله وبركاته

كود يحد اذ الرقم اولي او غير اولي اذا كان غير اولي يحسب قواسم العدد

شرط العدد الأولي اي عدد لايقبل القسة على اي عدد يكون أصغر اويساوي جذر التربيعي للعدد الاولي

كتبت الكود لكن بال run اذا دخلت 10كل واحد على حده و14و15و18,21و

24,28,27,22

يعطيني انه رقم اولي وهم غير ذلك

ماهو الخطأ اللذي أرتبكته لم أنتبه له...

CODE

 import java.util.*;
 public class Prime_number {
 static Scanner in=new Scanner(System.in);
 public static void main(String[] args) {
 System.out.println("enter number ");

 int num = in.nextInt();

 int i=0;boolean Prime=false;

 while (num<=30||num>=0){
 int Squeer = (int) Math.ceil(Math.sqrt(num));

 if ((num != Squeer) && (num % Squeer == 0)) {
 Prime = false;
 System.out.println(Prime+"...the number "+"\""+num+"\""+" is not prime");
 System.out.print("It's divisors are ");

 //for loop for determint the diviores the num
 for(int m=1;m<=num;m++){
 if(num%m==0)
 System.out.print(m+" ");
 }

 break;
 } 
 else if (!Prime) {
 Prime = true;
 System.out.println(Prime+"...the number "+"\""+num+"\""+" is prime");
 break;

 }
				-- Squeer;

 }

 } 
 }

Example Run

:

enter number

10

true...the number "10" is prim

enter number

9

false...the number "9" is not prime

It's divisors are 1 3 9

يا اخ باسعيد انت تقول انه لا يقبل القسمة على الجذر التربيعى

ثم تأتى فى الشرط وتكتب

(num % Squeer == 0)

وهذا يعنى انه يقبل القسمة لان باقى خارج القسمة سيكون 0

غير الشرط الى

(num % Squeer != 0)

وهذا هو الوضع الصحيح

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

ويطبع ما بداخله وهو مايفيد بانه ليس عدد اولى كما تقول

بالتوفيق

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 7 مايو 2010 في 16:45


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

مواضيع مشابهة