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

قاعدة بيانات الأعداد الاولية

بدأه C++er في 13 ديسمبر 2012 · 5 رد · 1,105 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أستخدم الأعداد الأولية فى العديد من برامجي لذا قمت بتجميع الأعداد الاولية التى يمكن تمثيلها فى النوع unsigned int داخل ملف binary حتى إن أردت استطيع إستخدام هذا الملف كقاعدة بيانات لي.

حجم الملف بعد فك الضغط 775 ميجا و يحتوى على 203280221 عدد أولي بدءا من الرقم 2 و حتى الرقم 4294967291.

اول 4 بايت من الملف يمثلوا عدد الأرقام داخله و كل رقم محفوظ داخل 4 بايت، و ترتيب البايت داخل الملف بصيغة little endian.

للتحميل إضغط هنا

و الله و لي التوفيق

2

مدونتي: C++ Tips and Tricks

#2

اشتقنالك أستاذ C++er

اقتباس
أستخدم الأعداد الأولية فى العديد من برامجي لذا قمت بتجميع الأعداد الاولية التى يمكن تمثيلها فى النوع unsigned int داخل ملف binary حتى إن أردت استطيع إستخدام هذا الملف كقاعدة بيانات لي.

هل تستخدمها في التشفير وفك التشفير ..أم هناك استخدامات أخرى .. ( أرجو منك ذكر عناوين )

اقتباس
حجم الملف بعد فك الضغط 775 ميجا و يحتوى على 203280221 عدد أولي بدءا من الرقم 2 و حتى الرقم 4294967291.

بصراحة أنا غير مهتم يجمع الأعداد الأولية بقدر اهتمامي بإيجادها والوصول لها ... وهنا لدي سؤالان ...

الأول : كم استغرقك إنشاء هذا الملف ؟

الثاني : ماهي الخوارزمية التي استخدمتها .. Sieve of Eratothenisis على عدة مراحل مثلاً ... أم اختبار اعتيادي .. وأخذ الكثير من الوقت ..

أرجو لك التوفيق .. بارك الله فيك .. والسلام عليكم

#3
اقتباس
هل تستخدمها في التشفير وفك التشفير ..أم هناك استخدامات أخرى .. ( أرجو منك ذكر عناوين )

cryptography، open addressing hash tables، random number generators، DSP.

فى بعض المواضيع مثل الـ hash tables اقوم بإنشاء ملفات headers بإستخدام بعض محتويات الملف للتسهيل بدلا من اعادة حسابها.

اقتباس
الأول : كم استغرقك إنشاء هذا الملف ؟

6 ساعات على جهاز Pentium D 3.00 Ghz مع ويندوز XP 32bit و ذاكرة قدرها 8 جيجا.

اقتباس
الثاني : ماهي الخوارزمية التي استخدمتها

أختبار عادى مع استخدام الـ primes التى تم الحصول عليها و مجموعة من دوال الإختبار مكتوبين بالأسمبلي.

و الله ولي التوفيق

1

مدونتي: C++ Tips and Tricks

#4

شكرا لك أستاذي الكريم ..

اقتباس

6 ساعات على جهاز Pentium D 3.00 Ghz مع ويندوز XP 32bit و ذاكرة قدرها 8 جيجا.

اقتباس
أختبار عادى مع استخدام الـ primes التى تم الحصول عليها و مجموعة من دوال الإختبار مكتوبين بالأسمبلي.

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

الطريقة التي استخدمتها ..(على ما أعتقد .. )

هي سلسلة تحوي الأعداد الأولية الأولى 2 3 5 ..

وكل رقم تريد اختباره تقوم باختبار باقي قسمته على الأرقام الموجودة في السلسلة إلى أن تتجاوز جذر الرقم المختبر ...

وكل رقم تجد أنه أولي ... تقوم بإضافته إلى السلسلة ..(ويمكن التوقف عن إضافة الأرقام عندما تصل إلى جذر أكبر رقم تريد اختباره )

وبالتالي ..لا يمكنك اختبار رقم من 6 منازل مثلاً ... حتى يكون لديك جميع الأرقام الأولية الأصغر من جذر ال999999 ...

إذا كان كلامي صحيحاً ... فيمكنك توفير تلك العمليات ..واختبار أي رقم دون إيجاد الأرقام الأولية الأصغر من جذره ... (فليس من المعقول حمل ملف 700 ميغا كل مرة تريد برمجة hash tablelaugh.gif)

إذا كنت مهتماً بالموضوع ..

smile.gif

أرجو لك التوفيق

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

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 14 ديسمبر 2012 في 18:45

1
#5
اقتباس

اشتقنالك أستاذ C++er

موضوع مفيد طبعا كعادة كل مواضيع أستاذ محمد علاء الدين

اقتباس

(فليس من المعقول حمل ملف 700 ميغا كل مرة تريد برمجة hash tablePosted Image)

@مصطفى

هى كقاعدة بيانات يمكنك استرجاع ما تشاء منها

------------------------------------------------------------------------------

اقتباس

6 ساعات على جهاز Pentium D 3.00 Ghz مع ويندوز XP 32bit و ذاكرة قدرها 8 جيجا.

كيف يخفى عليك أستاذ محمد أنك أعدمت 5GB من ذاكرة جهازك !!!!!!!!!

تعلم ان اى نظام 32bit لا يمكنه عنونة او استخدام ذاكرة أكبر من 3GB


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

الأنفال ۳۳                                  
 

#6
اقتباس
تعلم ان اى نظام 32bit لا يمكنه عنونة او استخدام ذاكرة أكبر من 3GB

post-135620-071604100 1355669061_thumb.p

تعديلات على الكرنل الخاص بويندوز xp ليتعامل مع ذاكره تصل لـ 64 جيجا. و هي تعمل بنجاح و لكن ليس مع كل البرامج.

و الله ولي التوفيق

المرفقات
Untitled.png

مدونتي: C++ Tips and Tricks

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