منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : Prime Number
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
(رب اشرح لي صدري ويسر لي امري واحلل عقدة من لساني يفقهوا قولي)


كيفية ايجاد العدد الأولي

كما نعلم اعزائي أن العدد الاولي لا يبقل القسمة إلا على نفسه وعلى الرقم (1).
طيب كيف نعلم أن عدد ما أولي أم لا برمجيا؟

الحل يكمن في معرفة معاملات العدد. كيف؟

عندما نقول أن العدد الأولي لا يقبل القسمة إلا على نفسه وعلى الرقم (1) معناه أن عدد معاملات الرقم الأولي هو 2

بمعنى أي رقم عدد معاملاته هو 2 هو عدد أولي وأي رقم تتجاوز عدد معاملاته الـ2 هو عدد غير أولي.

الان نأتي الى الامثلة/ (الامثلة باستخدام فيجوال ستوديو 2017 C#7.0 لذا ربما لا يعمل المثال بالشكل المطلوب في الاصدارات القديمة، لذا سارفق نسخة اخرى تعمل على جميع الاصدارات).

الكلاس Prime:
PHP كود :
namespace PrimeNumber
{
 
   public class Prime
    
{
 
       public bool IsPrime(int numberToCheck)
 
       {
 
           #region Factors local function
 
           int FactorsOfNumber()
 
           {
 
               var counter 0;
 
               for (int i 1<= numberToChecki++)
 
               {
 
                   if (numberToCheck == 0)
 
                   {
 
                       counter++;
 
                       if (counter 2)
 
                       {
 
                           break;
 
                       }
 
                   }
 
               }
 
               return counter;
 
           }
 
           #endregion

 
           return FactorsOfNumber() == 2;
 
       }
 
   }

كيفية الاستدعاء:
PHP كود :
using System;

namespace 
PrimeNumber
{
 
   class Program
    
{
 
       static void Main(string[] args)
 
       {
 
           var prime = new Prime();
 
           var result prime.IsPrime(5) ? "Prime" "Not Prime";
 
           Console.WriteLine(result);

 
           Console.ReadKey();
 
       }
 
   }


رابط المثال على حسابي على الـ github:
https://github.com/SajjadMohammed/PrimeNumber

رابط المثال لجميع الاصدارات:
PrimeNumber

والحمد لله رب العالمين
جزاك الله الف الف خير

تسلم يدك