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

لغز: أعداد d'Alembert

بدأه caballero في 31 أغسطس 2011 · 16 رد · 1,680 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

نسمي عدد d'Alembert كل عدد A أكبر قطعا من 2 يمكن كتابته على الشكل

mimetex.cgi?A=p\times q^2
، حيث يكون p و q عددين أوليين مختلفين.

مثلا، الأعداد التالية هي أعداد d'Alembert:

mimetex.cgi?98=2\times 7\times 7

mimetex.cgi?1083=3\times 19\times 19

mimetex.cgi?22103=23\times 31\times 31

المطلوب:

البحث عن 3 سلاسل أعداد، كل سلسلة تحتوي على 3 أعداد d'Alembert متتالية.

للإجابة، سأحتاج منك أن تذكر كل عدد مع تفكيكه.

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

سأعلن النتائج بعد أيام.

بالتوفيق،، : )

MPSI/MP* - CPR Tanger

#2

مافهمت ايش تقصد بسلاسل !!

هل هي اعداد d'Alembert متسلسلة ، مثل كذا

80 81 82

ايضا ً في المثال الي فوق اعداد d'Alembert هل هي

98 - 1083 - 22103

اما الصيغة كاملة كذا

98 = 2 * 7 * 7

الي فهمته من المطلوب انك تريد ثلاث مجموعات

كل مجموعة عبارة عن ثلاثة اعداد d'Alembert متسلسلة

برضو تفكيكة هل تقصد بهذه الصيغة

98 = 2 * 7 * 7

هل فهمي للسؤال هذا صحيح !!

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#3

بالضبط أخي الكريم، فهمك للسؤال صحيح.

الجواب سيكون 3 مجموعات لأعداد متتابعة. مثلا:

80 81 82

643 644 645

1026 1027 1028

بشرط أن تكون كلها أعداد d'Alembert.

كذلك يجب أن ترفق تفكيك كل عدد، مثلا 98=2*7*7

بالتوفيق،،

MPSI/MP* - CPR Tanger

#4

السلام عليكم

و هل المطلوب أن أقوم بذلك ذهنيا أو على ورق أم يمكنني كتابة برنامج ليقوم بالعمل؟

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


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


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


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


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


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


#5

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

سؤال إضافي لمزيد من التفكير:

هل يمكننا إيجاد أربعة أعداد d'Alembert متتابعة؟ خمسة؟

وكم عنصرا تحتويه أكبر مجموعة لأعداد d'Alembert متتابعة؟ لماذا؟

MPSI/MP* - CPR Tanger

#6
caballero كتب:

سؤال إضافي لمزيد من التفكير:

هل يمكننا إيجاد أربعة أعداد d'Alembert متتابعة؟ خمسة؟

وكم عنصرا تحتويه أكبر مجموعة لأعداد d'Alembert متتابعة؟ لماذا؟

حبة حبة يا شيخ...! smile.gif

جاري العمل على الطلب الأول

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


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


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


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


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


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


#7

السلام عليكم

تم إرسال الإجابة على البريد الخاص...

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


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


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


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


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


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


#8

تم إرسال الإجابة.

سبحان الله وبحمده ... سبحان الله العظيم

#9

ಠ_ಠ

وَمَا أُوتِيتُمْ مِنْ الْعِلْمِ إِلاَّ قَلِيلاً

#10

متى إعلان النتائج؟؟

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


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


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


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


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


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


#11
byte101 كتب:

متى إعلان النتائج؟؟

أنا كتبت الإجابة و فيه حد من المشرفين مسح الاجابة بتعتي.

سؤال للي كاتب الموضع. هل المسأله ده كانت home work عندك و أنت ضفتها هنا علشان الناس تحلها ؟

−1

وَمَا أُوتِيتُمْ مِنْ الْعِلْمِ إِلاَّ قَلِيلاً

#12
-Ahmed Hassan كتب:

أنا كتبت الإجابة و فيه حد من المشرفين مسح الاجابة بتعتي.

سؤال للي كاتب الموضع. هل المسأله ده كانت home work عندك و أنت ضفتها هنا علشان الناس تحلها ؟

:lol:

تم مسح الإجابة لأنه يجب أن ترسلها على الخاص كي تستمر المنافسة

اتق الله في كاتب الموضوع يا رجل... :)

1

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


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


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


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


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


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


#13

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

من بين الحلول الممكنة:

mimetex.cgi?603=67\times 3^2

mimetex.cgi?604=151\times 2^2

mimetex.cgi?605=5\times 11^2

mimetex.cgi?2523=3\times 29^2

mimetex.cgi?2524=631\times 2^2

mimetex.cgi?2525=1013\times 5^2

mimetex.cgi?4203=467\times 3^2

mimetex.cgi?4204=1051\times 2^2

mimetex.cgi?4205=5\times 29^2

من توصل لإجابة صحيحة:

المبرمج أحمد

byte101

bahmani

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

خالص التقدير،،

تم تعديل هذه المشاركة بواسطة caballero في 16 سبتمبر 2011 في 17:48

MPSI/MP* - CPR Tanger

#14

السلام عليكم

private bool IsDAlembert(int num, out string combination)
    	{
        	string comb = "";
        	bool isDAlembert = false;
        	for (int i = num / 2; i > 1; i--)
        	{
            	if (IsPrime(i))
            	{
                	if (num % i == 0 && IsSquare(num/i))
                	{
                    	if (IsPrime(int.Parse(Math.Sqrt(num / i).ToString())))
                    	{
                        	isDAlembert = true;
                        	comb = i.ToString() + "," + Math.Sqrt((num / i)).ToString() + "," + Math.Sqrt((num / i)).ToString();
                    	}
                	}
            	}
        	}
        	combination = comb;
        	return isDAlembert;
    	}

    	private bool IsDAlembert(int num)
    	{
        	bool isDAlembert = false;
        	for (int i = num / 2; i > 1; i--)
        	{
            	if (IsPrime(i))
            	{
                	if (num % i == 0 && IsSquare(num/i))
                	{
                    	if (IsPrime(int.Parse(Math.Sqrt(num / i).ToString())))
                    	{
                        	isDAlembert = true;
                    	}
                	}
            	}
        	}
        	return isDAlembert;
    	}

    	private bool IsSquare(int num)
    	{
        	bool isSquare = false;
        	if (IsInteger(Math.Sqrt(num)))
        	{
            	isSquare = true;
        	}
        	return isSquare;
    	}

    	private bool IsInteger(double num)
    	{
        	bool isInteger = false;
        	try
        	{
            	int x = int.Parse(num.ToString());
            	isInteger = true;
        	}
        	catch
        	{
            	isInteger = false;
        	}
        	return isInteger;
    	}

    	private string GetSequence(int limit)
    	{
        	string strDAlembert = "";
        	for (int num = 1; num < limit+1; num++)
        	{
            	if (IsDAlembert(num) && IsDAlembert(num + 1) && IsDAlembert(num + 2)) // && IsDAlembert(num + 3))
            	{
                	strDAlembert += num.ToString()+ " , ";
                	for (int i = 2; i < num / 2; i++)
                	{
                    	if (num % i == 0 && IsPrime(i) && IsSquare(num / i))
                    	{
                        	strDAlembert += i.ToString() + "," + Math.Sqrt(num / i) + "," + Math.Sqrt(num / i) + Environment.NewLine;
                    	}
                	}
            	}
        	}
        	return strDAlembert;
    	}

لكن كما يبدو من الاجابات التي عرضها الأخ caballero أن الكود بحاجة إلى بعض التحسين...blush.gif

1

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


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


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


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


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


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


#15

السلام عليكم

المراحل المتبعة في الحل لم تأخذ بعين الإعتبار التحسين في سرعة الأداء ( لعدم توفر الوقت)

1 - تحضير قائمة الأعداد الأولية

2- تفكيك الأعداد من 4 إلى M إلى جداء أعداد أولية وإختيار التي تحقق شرط D'Alembert وإظافتها للقائمة

3- البحث في القائمة عن السلاسل المتتالية (عدد العناصر في السلسلة الواحدة يمكن تغييره من واحهة البرنامج)

في المرفقات برنامج الحل الذي طورته بالديلفي XE

أرجو أن يفيدكم

وفقني الله وأياكم لكل خير

Alembert.zip

1
#16

بالنسبة للشطر الثاني من السؤال:

توجد سلاسل من أربعة أعداد، مثلا:

mimetex.cgi?17042641441 = 347809009 \tim

mimetex.cgi?17042641442 = 2 \times 92311

mimetex.cgi?17042641443 = 1893626827 \ti

mimetex.cgi?17042641444 = 4260660361 \ti

ومن خمسة، مثلا:

mimetex.cgi?10093613546512321 = 20599211

mimetex.cgi?10093613546512322 = 2 \times

mimetex.cgi?10093613546512323 = 11215126

mimetex.cgi?10093613546512324 = 25234033

mimetex.cgi?10093613546512325 = 40374454

في المقابل، يمكننا أن نثبت بسهولة أنه لا توجد سلسلة أطول. إذا كانت لدينا سلسلة من 6 أعداد أو أكثر، فأحدهم بالتأكيد سيكون مضاعفا لـ 6 الذي يفكك إلى mimetex.cgi?2 \times 3 ... أي أنه يساوي 12 أو 18. وكلاهما ليس محاطا بأعداد تحقق الشرط المطلوب.

1

MPSI/MP* - CPR Tanger

#17
caballero كتب:

في المقابل، يمكننا أن نثبت بسهولة أنه لا توجد سلسلة أطول. إذا كانت لدينا سلسلة من 6 أعداد أو أكثر، فأحدهم بالتأكيد سيكون مضاعفا لـ 6 الذي يفكك إلى mimetex.cgi?2 \times 3 ... أي أنه يساوي 12 أو 18. وكلاهما ليس محاطا بأعداد تحقق الشرط المطلوب.

wacko.gifwacko.gifwacko.gif

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


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


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


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


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


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


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