إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

العدد الأولي

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • العدد الأولي

    السلام عليكم ورحمة الله
    أخي الكريم لاشك أن العدد الأولي هو من يقبل القسمة التامة على نفسه و على العدد 1 فقط ..
    مثلا 2 - 3 - 5 - 7 - 11 ...... الخ
    ولتحديدها يعتمد على عدة طرائق منها التحليل الى جداء عوامل أولية أو غربلة باستغلال جدول أو القيام بحساب جذر العدد
    ثم قسمته على كل الأعداد الأولية الأقل من جذره.... الخ
    لكنها تبقى كلها صعبة جدا في حال الأعداد الكبيرة ستزداد حلقة الدوران و البحث

    أحتاج لكود يختصر الجهد في تحديد هذه النوعية العددية

    السلام عليكم

  • #2
    لن يكون الأمر بالسهولة التى تتوقع
    سيكون سهلا و لكن مع محاذير

    فقط و للعلم إطلعنى على نوعية الأرقام التى ستكشف عليها
    يعنى ألف أم مليون أم مليارات

    كلما كبر الرقم سيستغرق الأمر وقتا طويل نسبيا
    لكن حتى رقم عشرة آلاف أو بضعة عشرة آلاف

    فلن يعانى الأمر من تأخير

    ضع تفصيلات أكثر
    و هل للأمر علاقة بتشفير

    تعليق


    • #3
      أنا خايب في الحساب ..!! :abc_145: ضع ملف مفتوح لأفهم الفكره اكثر ...

      تعليق


      • #4
        فى ١٠ فبراير ٢٠١٣
        أعلن مؤخرًا المشتركون في مشروع البحث الكبير عن أعداد ميرسين الأولية في الإنترنت عن توصل كرتيس كوبر لأكبر عدد أوَّلي معروف. ويتكون هذا العدد من أكثر من ١٧ مليون رقم. متفوقًا بذلك على ما سبق اكتشافه في ٢٠٠٨ والذي يتكون من أكثر من ١٢ مليون رقم. وتُقدِّم مؤسسة الحدود الإلكترونية جوائز مالية لاكتشاف تلك الأعداد. وتعرض مكافأة مالية قدرها ١٥٠٠٠٠ دولار أمريكي عند اكتشاف أكبر عدد أوَّلي يتكون من ١٠٠ مليون رقم. وقد استغرق الحاسب الآلي ٣٩ يومًا للتحقُّق من العدد الجديد. ويتميز العدد الأوَّلي عن غيره من الأعداد الصحيحة بعدم قابليته للقسمة إلا على نفسه وعلى العدد ١ فقط. ويفسر أحد المشتركين في هذا المشروع سر الاهتمام بالعثور على الأعداد الأولية على أنه يمثل تحديًا مثيرًا يشبه في ذلك الصعود لقمة جبل إيفرست.
        فهمت المغزى من سؤالى السابق أبو بلقيس ؟

        تعليق


        • #5
          السلام عليكم ورحمة الله
          استاذي هيثم تمنيت لو توفر ملف مفتوح ينطوي على === أكواد === للحل
          لأرسله لك .. لكن قد أرسل لك ما يشرح ذلك
          أستاذ خالد .. أنا أدرك تماما ما تفضلت به و ادرك الصعوبة البالغة في برمجة دقيقة غير محدودة
          فالعمل بالجذر و الباقي باستغلال Math.Sqrt و Math.Mod لن يجدي كون أننا سنحتاج
          للأعداد الأولية لقيمة الجذر ؟؟
          على كل جربت استغلال قابلية القسمة على الاعداد الزوجية و العددين 3 و 9 , و للعدد 5 , و يدوية القسمة على 7
          لكن النتائج غير مرضية عند تربيع العدد الأولي تصبح القاعدة غير مضبوطة
          يبقى نظريا تخزين قيم و التي هي اساسا أعداد أولية يتم فيها البحث ليعلن النتيجة و هذا ليس حل برمجي
          لهذا سأطلب نموذجا لما تفضلت به وليكن مثلا نوعية الأعداد ألاف على أساس أن أكون صريحا معك الأستاذ خالد
          أريد معادلات رياضية و ليس عملية بحث في قيم مخزنة
          لك مني فائق التقدير و الاحترام

          تعليق


          • #6
            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
            أستاذ خالد .. أنا أدرك تماما ما تفضلت به و ادرك الصعوبة البالغة في برمجة دقيقة غير محدودة
            فالعمل بالجذر و الباقي باستغلال Math.Sqrt و Math.Mod لن يجدي كون أننا سنحتاج
            للأعداد الأولية لقيمة الجذر ؟؟
            أضحك الله سنك أخى

            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
            على أساس أن أكون صريحا معك الأستاذ خالد
            أريد معادلات رياضية و ليس عملية بحث في قيم مخزنة
            لك مني فائق التقدير و الاحترام
            و هل تعرف أن هذا أسلوبى ؟؟

            نأتى للجد
            الأمر فى غاية البساطة
            و سؤالى لك عن عدد المنازل الخاصة بالرقم كان حفاظا على سرعة البرنامج ليس أكثر
            الذين ربحوا 100 ألف دولار إنتظروا البرنامج 39 يوما متصلا لكى تنهى الدالة عملها
            و أعلم أن هذا ليس هدفك
            و فى الغالب أنت تبرمج برنامج رياضى بسيط

            إليك الحل
            بفرض أن مشروعك يحتوى على إنبوت إسمه Input1
            و زر

            فى الجلوبال فنكشن ضع تلك الدالة
            كود PHP:
            function chk_prim(x)
            x=Input.GetText("Input1");
            String.ToNumber(x);
                    if 
            x<=0 then return false end
                
            if x<=2 then return true end
                    
            if (Math.Mod(x2)==0then return false end    
                            
            for i=3,x/2,do
                             if (
            Math.Mod(xi)==0then
             
            return false end     
            end
            return true
            end 
            و ضع فى الزر هذا الكود
            كود PHP:
            chk_prim(x)
            if 
            chk_prim()==true then
            Dialog
            .Message("Notice""Prim." MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1);
            else
            Dialog.Message("Notice""Not prim"MB_OKMB_ICONINFORMATIONMB_DEFBUTTON1);
            end 
            أكتب الرقم فى الإنبوت
            ثم إضغط على الزر
            و خبرنى

            مثال
            هذا الرقم الأولى
            16581067
            يستغرق أربعون ثانية للكشف عليه بجهازى المتواضع
            التعديل الأخير تم بواسطة النصل القاطع; الساعة 24-06-2013, 11:56 PM.

            تعليق


            • #7
              http://im41.gulfup.com/6NSYr.swf

              تعليق


              • #8
                المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                سبحان الله
                ما هذا الملف الذى طرحته ؟؟
                هل على تحميل ملف لمعرفة إذا كنت قد وصلت لحل إستفسارك ؟؟؟؟
                المفروض ان تطلعنى على النتيجة مباشرة إما بالسلب أو بالإيجاب

                عموما لا مشاكل
                بالتوفيق

                تعليق


                • #9
                  أستاذ خالد لم أجد ردا جميل فأرسلت ملف مرئي يوضح قوة الأكواد التي أرسلتها
                  بارك الله فيك كل الاحترام ضمنته في الملف ...

                  تعليق


                  • #10
                    استاذ ثامر
                    لم ألزمك و لم أطلب منك أن تشكرنى
                    فقط كان المطلوب منك أن تتعب قليلا و توضح لنا كتابة أن إستفسارك قد تم حله أم لا بوضوح
                    كما أجهدت نفسك و كتبت إستفسارك بكل وضوح

                    عموما سأعتبر أن إستفسارك قد تم حله (يؤسفنى أننى عن جد غير متأكد)
                    لأنه حتى الآن أنت لم تكتب النتيجة بوضوح

                    و حاول أن تعرف أن ليس كل الناس يحملون الملفات بسهولة خصوصا مستخدمى الفلاشات فى نهاية الباقة مثلى أنا
                    أنت فى حل من كتابة أى رد
                    حينما أشحن الباقة سأحمل الملف و أعرف

                    تعليق


                    • #11
                      أولا : أنا جد متأسف لك و لكل زملائي فعلا كان من المفروض أن أراعي ما ذكرت
                      على كل الأكواد قياسية جدا أدت المطلوب و أكثر و خاصة السرعة المذهلة في اصدار الحكم لأعداد ضخمة جدا
                      قمت بتجربة عدة أعداد و كانت كل مرة النتيجة صحيحة ... ثم قمت بمقارنة العمل مع الأكواد المتضمنة في
                      الاضافة sina فعجزت الاضافة على مواكبة الأكواد لأنها توقفت في رتبة أقل بكثير

                      فقط العدد 1 يحذف من الأعداد الأولية شكرا و بارك الله فيك و جزاك الله خيرا
                      وفخور بك

                      أعتذر كثيرا و أتمنى أن تشاهد الملف المرئي المباشر لأني ضمنته النتائج مباشرة من على الجهاز

                      تعليق


                      • #12
                        أستاذ ثامر
                        للتو شاهدت ملفك

                        و لذلك نصحتك بالتواصل الكتابى
                        هنا معلومة لم تصل إليك بشكل صحيح

                        سيتباطأ البرنامج كثيرا عند فحص رقم أولى
                        لكن كل الأرقام الأولية دون المليون لن تستغرق زمنا أكثر من ثانية واحدة
                        لكى تفهم وجهة نظرى وتفهم سرعة الكود بشكل صحيح
                        إكشف عن الرقم الأولى 16581067
                        و هو رقم بعشرات الملايين و ستفهم قصدى

                        أنت لم تجرب سوى أعداد غير أولية
                        لكى تعرف سرعة البرنامج الحقيقية

                        يجب أن يتواجه البرنامج مع أعداد أولية
                        راجع أرقام من الملف النصى المرفق
                        و ستجد البرنامج سريع جدا حتى أرقام أولية بمنزلة مئات الألاف فقط

                        و ليس للحد الذى ذكرته و بالمنازل التى كشفت عليها فى الفيديو المصور (لأن الأعداد الغير أولية لا تصل معها الحلقة البرمجية لآخر المدى)
                        ستعرف عندها أن النصل القاطع يفضل أن يكون (غير مبدع) على أن (تنخدع) أنت بنتائج غير حقيقة
                        أن تدرك الحقائق الآن أفضل من أن تحرج وقت عرض البرنامج و تتورط مع عدد أولى برتبة بضعة ملايين و تجد الجهاز يغط فى نوم عميق
                        و فقك الله
                        الملفات المرفقة

                        تعليق


                        • #13
                          قمت بتحميل المستند النصي لأجربه في البيت لكن هذا لا يمنع أبدا
                          أن أقول بأنك أبدعت في ايجاد أكواد بحثت عنها كثيرا و كثيرا و لم اجدها صريحة
                          بمثل التي طرحت
                          على كل الحمد لله أنك إطلعت على الرد عسى أني قدرت مجهودك أخي و استاذي الكريم
                          البطء مع نتائج دقيقة أفضل بكثير من إنعدام طريقة للحل ... تلك غايتي و أكرر بارك الله فيك
                          سأرد في الغد إن شاء الله

                          تعليق


                          • #14
                            حسنا أخى أبو بقيس
                            مثال أخير لكى يفهم الجميع قصدى
                            رقم مثل
                            22222222222222222222222222222222222222222222222222 2222222222
                            سيقوم الكود بقسمته على 2 فيقبل بدون باقى
                            فتنكسر الحلقة بالأمر break فورا
                            و لن تعمل الحلقة باقى الإختبارات و لن تستهلك أى وقت
                            سينكشف أمره من أول دورة للحلقة

                            مثال أخر :-
                            رقم مثل
                            33333333333333333333333333333333333333333333333333 3333333333
                            سينكشف للحلقة من ثانى دورة

                            لنفهم معا طبيعة الحلقة
                            الحلقة تقسم مثلا على 3 فلو ظهر باقى تقسم على 4 فلو ظهر باقى تقسم على 5 و هكذا حتى يتصادف القسمة على رقم لا يعطى باقى فتنكسر الحلقة فورا

                            سر السرعة مع الأرقام الغير أولية
                            غالبا لا يدور العدد الغير أولى فى الحلقة أكثر من 10 دورات و تكتشفه الحلقة

                            سر بطئ الأرقام الأولية
                            رقم أولى مثل 16581067
                            فهو رقم أولى لا يقبل القسمة بدون باقى إلا على نفسه
                            هل تعرف معنى ذلك ؟؟؟
                            سيدور فى الحلقة 16581067 دورة حتى ينقسم على نفسه بدون باقى
                            ستة عشر و نصف مليون دورة فى الحلقة البرمجية
                            لابد أن تستهلك وقتا ملموسا

                            أظن أصبح الأمر واضح لك و سيفسر لك سر تباطؤ الكشف عن الأرقام الأولية فوق المليون
                            كما سيوضح لك لماذا ربح أحد المبرمجين 150 ألف دولار مقابل إكتشافه لرقم أولى يتألف من 13 مليون منزلة
                            و لماذا إستغرق إكتشافه 39 يوم متواصل لبرنامج الكشف و على جهاز جبار و غير تقليدى

                            أما عن سر تباظؤ الإضافة SINA فى الكشف عن الأعداد الغير أولية
                            فهذا بالتأكيد يرجع لعدم التوزيع الصحيح لأوامر BREAK الخاصة بكسر و إيقاف الحلقة فى الوقت المناسب (خطأ منطقى برمجى)

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

                            تعليق


                            • #15
                              شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                              المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                              المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                              المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                              يعمل...
                              X