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

برأيكم ما هو المستوى الجيد في ProjectEuler؟

بدأه byte101 في 13 سبتمبر 2011 · 14 رد · 1,349 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

ما شاء الله هناك عدد من الإخوة قد قطعوا شوطا في حل هذه المسائل و منهم من تجاوز المئة ( على فكرة، سررت عندما رأيت على ذات الموقع أن ممن تجاوزوا 300 شخص من مصر :thumb_up: )

سؤالي هو: برأيكم، ما هو عدد الأسئلة التي بعد أن أتمكن من حلها أستطيع أن أقول هذا مستوى جيد و أستطيع أن أذكر ذلك في السيرة الذاتية مثلا.

جزاكم الله خيرا

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#2

مسائل Project Euler من البداية و حتى السؤال الخمسون تقريباً, عبارة عن مسائل عادية يجب على أي طالب علوم حاسب أو هندسة برمجيات أن يقوم بحلها بلغته المفضلة, حيث يحل البرنامج السؤال في أقل من دقيقة. هناك بعض المسائل الصعبة في الخمسين الأولى و قد يكون الطالب تعرض للمفهوم بشكل مبسط أو تجاوزه. بعد ذلك تأتي الخمسين الثانية التي تعتمد على مهاراتك في الـ Optimization, ستحتاج في معظمها إلى دراسة كل سؤال, و البحث عن بداية الخيط لحل السؤال بعد أن تكون قد قمت بعمل formulation للسؤال على شكل graph مثلاً. تتعلم الخوارزمية و تفهمها ثم تقوم بكتابتها. نصف الأسئلة تشبه النصف الآخر, و لكنك إن لم تفهم الخوارزميات التي تطبقها لن تستطيع تحويرها لحل أسئلة أخرى, مثل تطبيق الـ memoization. عموماً, حللت أول خمسين كاملة و الحمدلله. و لكن المصيبة في الخمسين الثانية :(

هذه الأسئلة لم أستطع حلها: 51, 54, 60, 64, 66, 77, 80, 84, 86, 88, 89, 90, 91, 93, 94, 95, 96, 98

و لاحظ أنني حللت أسئلة مشابهة لأفكار الأسئلة التي ذكرتها, و لكن لم أستطع من فهمها و تحليلها و قمت بعمل implementation من خلال اتباع الـ pseudopod في Wikipedia و غيرها. أتمنى ممن يستطيع شرح أحد الأسئلة أن يتفضل علينا, إلا سؤال 54 فكل مافي الأمر أني كسول لكتابة برنامج بوكر :lol:

أخيراً, halsten هذا يبدو أنه شخصية محترمة. كان لديه مدونة و لكنها لا تعمل حالياً كما يبدو, يتكلم فيها عن كتابة mods لألعاب PS3 و يصمم البعض منها كما فهمت. أتمنى لو أرسلت دعوة من المنتدى لهذا النوع من المبرمجين.

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

عفواً وضعت رابط خاطئ للمدونة, يبدو أنها لا تعمل.

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 13 سبتمبر 2011 في 16:36

1
#3

جزاك الله خيرا أخي خالد على الشرح المفصل

هل أستطيع أن أستنتج من ذلك أنني طالما لم أتجاوز الخمسين مسألة فلا داعي لذكرها؟

بالنسبة لرابط المدونة الذي ذكرنه فقد فتح الصفحة عندي، لا أدري إن كنت تقصد هذا الرابط أم أن هناك مدونة غيرها

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#4

أخي خالد كيف أستطيع إدخال حلي للموقع ...

بعد دخولي في قائمة Problem وفتحت المشكله الأولي .. حلتها في المترجم vc++ ... بعد ذلك ماذا أفعل ؟

وشكرا

.............. بسم الله الرحمن الرحيم ...............ز

"فمن إتبع هداي فلا يضل ولا يشقي " صدق الله العظيم

ماض في الطريق إلي .... C++

#5

عليك الاشتراك بالموقع أولا من خلال الرابط التالي:

http://projecteuler.net/index.php?section=register

ثم و بعد أن تجيب عن كل سؤال تدخل إجابتك في الموقع لتعلم إن كانت الاجابة صحيحة أم لا

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#6

أنا سجلت من قبل كده ودخلت و حليت للسؤال الأول ولكن لا أعلم كيف أدخل حلي للموقع

اقتباس
تدخل إجابتك في الموقع

كيف :huh: ؟؟

.............. بسم الله الرحمن الرحيم ...............ز

"فمن إتبع هداي فلا يضل ولا يشقي " صدق الله العظيم

ماض في الطريق إلي .... C++

#7
cpp_lover كتب:

أنا سجلت من قبل كده ودخلت و حليت للسؤال الأول ولكن لا أعلم كيف أدخل حلي للموقع

كيف :huh: ؟؟

- قم بالدخول إلى حسابك (login)

- اضغط على Problems

- اضغط على المسألة التي قمت بحلها

أدخل الإجابة...

post-248801-058777600 1315925926_thumb.j

المرفقات
EulerSample.jpg

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#8
Khaled.Alshaya كتب:

هذه الأسئلة لم أستطع حلها: 51, 54, 60, 64, 66, 77, 80, 84, 86, 88, 89, 90, 91, 93, 94, 95, 96, 98

و لاحظ أنني حللت أسئلة مشابهة لأفكار الأسئلة التي ذكرتها, و لكن لم أستطع من فهمها و تحليلها و قمت بعمل implementation من خلال اتباع الـ pseudopod في Wikipedia و غيرها. أتمنى ممن يستطيع شرح أحد الأسئلة أن يتفضل علينا, إلا سؤال 54 فكل مافي الأمر أني كسول لكتابة برنامج بوكر :lol:

حللتها كلها حتى 78 بالبايثون (79 منشفة ريقي حالياً) ومحتفظ بالكود لو أحببت تطلع عليها.

1
#9
System Down كتب:

حللتها كلها حتى 78 بالبايثون (79 منشفة ريقي حالياً) ومحتفظ بالكود لو أحببت تطلع عليها.

ما رأيك أخي systemdown بسؤالي الأول؟

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#10

تقصد أن أدخل الكود المصدري للحل في خانة answer ?

تم تعديل هذه المشاركة بواسطة cpp_lover في 13 سبتمبر 2011 في 21:41

.............. بسم الله الرحمن الرحيم ...............ز

"فمن إتبع هداي فلا يضل ولا يشقي " صدق الله العظيم

ماض في الطريق إلي .... C++

#11
cpp_lover كتب:

تقصد أن أدخل الكود المصدري للحل في خانة answer ?

لا، الجواب فقط

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#12
byte101 كتب:

ما رأيك أخي systemdown بسؤالي الأول؟

لست مؤمناً بوجود "مسطرة" لقياس مهارة المبرمج. الوحيد الذي يستطيع قياس مهارتك هو أنت. وحتى هذه فيها نظر، لأنك بهذه الطريقة تضع لنفسك سقفاً تصل إليه. بينما عليك في الواقع أن يكون هدفك دائماً التحرك إلى الأعلي، وعدم الاكتفاء بالوصول إلى نقطةٍ ما. حل قدر ما تستطيع من هذه المسائل. لا تقل "سأصل إلى الرقم كذا وأكتفي"، هذا منظور خاطئ في رأيي.

إذا وصلت إلى مسألة لا تستطيع حلها فهذا ليس عيباً. والسؤال ليس عيباً كذلك (مدونتي فيها قسم خاص لهذه المسائل). اعتبرها فرصة لتعلم شئ جديد. وهي حالة ذهنية يجب أن يتمتع بها المبرمج دائماً.

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

تم تعديل هذه المشاركة بواسطة System Down في 13 سبتمبر 2011 في 23:51

3
#13
اقتباس
حللتها كلها حتى 78 بالبايثون (79 منشفة ريقي حالياً) ومحتفظ بالكود لو أحببت تطلع عليها.

و الله سيكون الأمر جميل إن عرضت لنا حلولك أخي SD, للمسائل: 51, 77, 78 و شكراً مرة أخرى :)

#14
System Down كتب:

لست مؤمناً بوجود "مسطرة" لقياس مهارة المبرمج. الوحيد الذي يستطيع قياس مهارتك هو أنت. وحتى هذه فيها نظر، لأنك بهذه الطريقة تضع لنفسك سقفاً تصل إليه. بينما عليك في الواقع أن يكون هدفك دائماً التحرك إلى الأعلي، وعدم الاكتفاء بالوصول إلى نقطةٍ ما. حل قدر ما تستطيع من هذه المسائل. لا تقل "سأصل إلى الرقم كذا وأكتفي"، هذا منظور خاطئ في رأيي.

إذا وصلت إلى مسألة لا تستطيع حلها فهذا ليس عيباً. والسؤال ليس عيباً كذلك (مدونتي فيها قسم خاص لهذه المسائل). اعتبرها فرصة لتعلم شئ جديد. وهي حالة ذهنية يجب أن يتمتع بها المبرمج دائماً.

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

جزاك الله خيرا على الرد

أنا لم أقصد بسؤالي أنني سأتوقف عندما أصل إلى عدد معين بل سأذكر ذلك في سيرتي الذاتية مثلا بعد الوصول إلى هذا العدد و بالتأكيد سأستمر في محاولاتي إن شاء الله حتى بعد بلوغ هذا العدد

لاتـُهيئ كفني ما متّ بعد = لم يزل في أضلعي برقٌ و رعدُ


أنــا اسـلامــي ..أنا عزّته = أنا خيل الله نحو النصــر تعــدو


أنــا تــاريـخـي …ألا تعــرفـه = خـالد ينبض في روحــي و سعدُ


لاتـــغرنـك منــي هدأتـــــي = لا يمــوت الثــأر و لــكن يســتعـدُ


لا يغرنـــك نصــلٌ موغـــلٌ = في عروقي …فـأنا منه أحـّـــدُ


إن ما ضُيع في ساح الوغى = في سوى ساحــاتـها لا يــستردُ


#15
Khaled.Alshaya كتب:

و الله سيكون الأمر جميل إن عرضت لنا حلولك أخي SD, للمسائل: 51, 77, 78 و شكراً مرة أخرى :)

#51

قمت بتوليد جميع النصوص المكونة من الأرقام 0-9 والرمز * لطول معين (أزيده تدريجياً). الرمز * سيتم استبداله بالعدد المكرر. نوجد الأعداد الأولية.

#77

استخدمت مزيج من حل المسألة 33 لفك القروش (نفس المفهوم) مع دالة استخدمتها في 76 تدعى Partition Function P

#78

استخدمت نظرية رياضية تدعى Pentagonal Number Theorem

أرسلت لك الكود على الخاص. ولكن لا تغش! :D

byte101 كتب:

جزاك الله خيرا على الرد

أنا لم أقصد بسؤالي أنني سأتوقف عندما أصل إلى عدد معين بل سأذكر ذلك في سيرتي الذاتية مثلا بعد الوصول إلى هذا العدد و بالتأكيد سأستمر في محاولاتي إن شاء الله حتى بعد بلوغ هذا العدد

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

1

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