متسلسلة لمقدار اوزان لميزان الكفتين لاقل عدد من الوزان؟
(باستخدام كل وزن اما في الكف الايمن او الايسر او لايستخدم)
لاعطاء اوزان بدقة الكيلو(1,2,3,...)
متسلسلة لمقدار اوزان لميزان الكفتين لاقل عدد من الوزان؟
(باستخدام كل وزن اما في الكف الايمن او الايسر او لايستخدم)
لاعطاء اوزان بدقة الكيلو(1,2,3,...)
السلام عليكم ..
لإعطاء الأوزان من 1 و حتى 30 يمكننا استخدام اربعة اوزان هي 1 و 3 و 9 و 27 ..
تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 7 فبراير 2013 في 17:10
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
المعادلة سهله
بس اعطيني المجموع (اكبر وزن يمكن وزنة) لعدد الاوزان
الخوارزمي2 كتب:المعادلة سهله
بس اعطيني المجموع (اكبر وزن يمكن وزنة) لعدد الاوزان
السلام عليكم ...
لا إله إلا الله ... محمد رسول الله
لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة
المعرًف القديم : houssam11350_11350
من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر
المعادلة هي
x^3
واكبر وزن في الاريع اوزان 40 كيلو
1 1
2 4
3 13
4 40
5 81
أظن أخي المجموع هو مجموعها أي 40 وليس 30
عفوا كتبت المشاركة قبل أن أرى الردود السابقة لأنها ظهرت بعد اعتماد المشاركة
تم تعديل هذه المشاركة بواسطة أبو أحمد المبرمج في 7 فبراير 2013 في 17:38
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
بتقدر تسويها معادلة مش كود جمع؟
عفوا أخي فقط للتصحيح من أجل 5 فقط الوزن الخامس هو 81 أما المجموع يكون كما يلي :
عندما يكون 5 الوزن الأعظمي يكون 27*3 + 40 أي 81 + 40 أي 121
وعندما يكون 6 يكون الوزن 81*3 + 121 أي 243 + 121 أي 364
وهكذا
وبالنسبة للمعادلة أظن أن الوزن الأعظمي الذي يمكن قياسه من أجل n وزن هو مضاعف الوزن الأعظمي للعدد السابق + واحد
وبالتالي يمكن برمجتها من خلال وظيفة تعاودية مع وضع شرط أن النتيجة من أجل 1 هي 1 كشرط لتوقف الاستدعاء التعاودي
أي
Max(n)=Max(n-1)*2 + 1
تم تعديل هذه المشاركة بواسطة أبو أحمد المبرمج في 8 فبراير 2013 في 16:37
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
صح السانك
كلو تمام
اقتباسأي
Max(n)=Max(n-1)*2 + 1
أولآ:-
هو ثلاثة أمثال الوزن الأعظمي للعدد السابق + واحد
وليس مضاعف الوزن الأعظمي للعدد السابق + واحد
أي
Max(n)=Max(n-1)*3 + 1
وليس
Max(n)=Max(n-1)*2 + 1
ثانيآ:-
بهذه الطريقة لايمكنك حساب الوزن الأعظمي الذي يمكن قياسه من أجل n وزن الا اذا حسبت كل ماقبله واحدآ تلو الآخر
فمثلآ لحساب الوزن الأعظمي الذي يمكن قياسه من أجل 11 وزن لابد أن تحسب الوزن الأعظمي الذي يمكن قياسه من أجل 1 ثم من أجل 2 ثم من أجل 3 ......................ثم من أجل 9 ثم من أجل 10 ثم من أجل 11
ولا توجد أى معادلة لحساب ذلك مباشرة
انما لحساب ذلك مباشرة لابد من كود كالآتى بأى لغةبرمجة
Private Sub Command1_Click()
N = InputBox(" المطلوب حساب أكبر وزن عنده", "ما عدد الأوزان ")
Max = 0
For I = 0 To N - 1
Max = Max + 3 ^ I
Next I
Print "أكبر وزن عنده"; Max
End Subيبدو أنه حصل لبس مما أدى إلى ظهور نتائج مختلفة
دعونا نتفق على المصطلحات حتى نصل إلى نتيجة واحدة
سنفرض n هو عدد الأوزان
وسنفرض m هو أكبر وزن فيهم
وسنفرض s هو الوزن الأعضمي الذي يمكن أن نقيسه بواسطة هذه الأوزان هو مجموعها جميعا
والآن نريد أن نضع معادلة لإيجاد كل من m و s من أجل n وزن
الوزن الأعظمي m (أكبر وزن) يحسب بطريقتين إما بالمعادلة
m(n) = m(n-1) * 3
لأن العلاقة بين الأوزان هي ثلاثة أمثالها
أو هو مضاعف المجموع الأعظمي السابق + 1
m(n) = s(n-1) * 2 + 1
وهي معادلتي ولكن مع تصحيح الخطأ بأن المحسوب هو الوزن الأعظمي وأما الطرف الأيمن هو أكبر وزن سابق
وأما حساب الوزن الأعظمي فهو بمجموع جميع الأوزان أو هو مجموع الأوزان السابقة + نفسه
s(n) = s(n-1) + m(n)
و بتعويض المعادلة قبل الأخيرة ضمن الأخيرة نحصل على
s(n) = s(n-1) + [s(n-1) * 2 + 1] = s(n-1) * 3 + 1
وهي معادلتك أخي إسلام التي وضعتها
وحلها برمجيا يكون بطريقتين إما تكراريا أو تعاوديا فالتكراري بحلقة تكرارية وأما التعاودي من خلال دالة تستدعي نفسها تعاوديا من أجل العدد السابق هكذا حتى تصل إلى الواحد ثم تعود أدراجها بعد احتساب المجاميع لتعود إلى الاستدعاء الاول حاملة المجموع النهائي
وبناء عليه يكون لدينا
/* n m(n) s(n) ---------------- 1 1 1 2 3 4 3 9 13 4 27 40 5 81 121 6 243 364 7 729 1093 8 2187 3280 */
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
اقتباسوحلها برمجيا يكون بطريقتين إما تكراريا أو تعاوديا فالتكراري بحلقة تكرارية وأما التعاودي من خلال دالة تستدعي نفسها تعاوديا من أجل العدد السابق هكذا حتى تصل إلى الواحد ثم تعود أدراجها بعد احتساب المجاميع لتعود إلى الاستدعاء الاول حاملة المجموع النهائي
وكيف يكون كود هذه الدالة التى تستدعي نفسها تعاوديا من أجل العدد السابق؟
سيكون أيضآ بكود كالذى كتبته لكم بأى لغة برمجة
أى أن الحل تكراريا أو تعاوديا
هو أن يكتب نفس الكود الذى كتبته مباشرة فى كود الحدث اللازم لحساب هذا الوزن الأعظمي
أو أن يكتب نفس الكود الذى كتبته فى كود دالة تستدعي نفسها
الاستدعاء التعاودي لا يحتاج لحلقة تكرارية لأنه هو يحل محلها
فمثلا من أجل المعادلة الأخيرة يكون لدينا الدالة التعاودية كما يلي
public int MaxWeight(int n)
{
if (n == 1)
return 1;
else
return MaxWeight(n - 1) * 3 + 1;
}
وتستدعيها كما يلي
int max = MaxWeight(5);
في هذه الحالة عندما يدخل سطر التنفيذ جسم الدالة سيفحص قيمة n فإن كانت واحد فيعيد واحد كنتيجة
وإلا سيستدعي المعادلة مع استدعاء نفس الدالة ولكن من أجل n-1
و هكذا سنجد أنه بعد n-1 استدعاء سيكون الباركتر الممرر هو واحد فيعيد واحد ويرجع تعاوديا بحسب مكدس الاستدعاء إلى أن يعيد النتيجة النهائية في سطر الاستدعاء الأول
فالنتيجة السابقة ستعيد قيمة 121
هذا فيما يخص الوزن الأعظمي الذي نستطيع أن نحصل عليه من مجموع الأوزان التي عددها n
أما الدالة التعاودية للحصول على أكبر وزن من بين تلك الأوزان فهو نفس السابق بعد حذف الواحد المضاف
وفي حالتنا سنحصل على 81
تم تعديل هذه المشاركة بواسطة أبو أحمد المبرمج في 9 فبراير 2013 في 18:14
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
بطلت اجمع!!!!!
طيب خد هاي المعادلة
(3^x-1)/2
بارك الله بك أخي الخوارزمي
هل كان أصل الموضوع من باب الاستفسار أم من باب الاختبار ؟
ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها
كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور
اختبار الي والك