• 0
deyad

خوارمية معقدة جدا

سؤال

ارجو المساعدة :

لدي الثوابت التالية :

مجموع عشر ارقام هو : 1058

وكما قلنا عددها عشرة ,

لكن الارقام مجهولة

هل يوجد اي خوارزمية تمكنني من معرفة ان الرقم مثلاً : 102 هو ضمن قائمة الارقام

قائمة الارقام هي :

(100,102,103,104,105,106,107,108,111,112)

فباختصار اريد ان ادخل لبرنامجي رقم اي رقم ماخوذ من عدة ارقام (مجموع او عدد او اي علاقة تربط الارقام) واريد ادخال رقم لاتاكد هل هو موجود ضمن قائمة الارقام المطبق عليهم الخوارزمية

هل يوجد اي خوارزمية تعطيني علاقة هذه الارقام .

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

يرجى مساعدتي وشكراً...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

9 إجابة على هذا السؤال .

  • 0

السلام عليكم ...

هل يوجد اي خوارزمية تمكنني من معرفة ان الرقم مثلاً : 102 هو ضمن قائمة الارقام

حسب فهمي للخوارزمية فإن أي رقم (أصغر من 1000 تقريبا) يمكن أن يكون حل ..

هل تقصد انها يجب أن تكون متتالية ؟؟ (الحل الذي كتبته غير متتالي)

مثلا الرقم 17 بقي لدينا 1041 طالما أنه فردي نأخذ من 1 بقي 1040 نقسمه على اثنين نحصل 520 و الــ 520 الأخرى نقسمها إلى 500 و 20 و الــ 500 نقسمها إلى 250 و 200 و 50 و الــ 50 نقسمها إلى 25 و 15 و 10 و الــ 10 نقسمها إلى 6 و 4

فتكون الأعداد هي:

17

1

520

20

250

200

25

15

6

4

اعتقد أنك بحاجة للتوضيح أكثر

تم تعديل بواسطه houssam11350_11350
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم..

كما قال الأخ حسام، إذا لم تكن هناك قاعدة ما تحد الأرقام فإن عدد النتائج يمكن أن يكون غير محدود، مثال:

1022 + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8

يساوي 1058

ربما حتى أرقام بالسالب، أو استخدام متكرر للصفر، و ما إلى ذلك.

لذا السؤال بحاجة إلى توضيح.

شكرًا.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ابحث عن Restricted Partitioning of Positive Integers

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فباختصار اريد ان ادخل لبرنامجي رقم اي رقم ماخوذ من عدة ارقام (مجموع او عدد او اي علاقة تربط الارقام) واريد ادخال رقم لاتاكد هل هو موجود ضمن قائمة الارقام المطبق عليهم الخوارزمية

السلام عليكم..

لم أنتبه لهذه النقطة في ردي السابق، لكن لم أفهمها جيدًا، هل هناك علاقة معينة بين الأرقام؟ في حالة - مجرد مثال - أن كل رقم يكون أكثر بـ2 من السابق له، يمكنك أن تأتي بالأرقام بدءً من -9 (لا تبدأ من الصفر) مثلًا و تجمع 10 أرقام بما أنك تحتاج إلى 10، و ترى هل مجموعهم هو المطلوب أم لا، إذا لم يكن المطلوب تطرح من المجموع أول رقم من العشرة و تجمع الرقم 11، ثم تتحقق من المجموع، و هكذا.. حتى تجد أن المجموع يتحقق، فترى هل في العشر أرقام الرقم المطلوب، و في حال كان الرقم المبحوث عنه بالسالب تحتاج للبدأ من 9 بدلًا من -9.

طبعًا هذه الطريقة ليست جيدة من ناحيتين، العيب الأول هو أنه قد لا يوجد الرقم أبدًا هل سنظل نبحث طوال الوقت؟

و ثاني عيب هو البطء الشديد الغير مطلوب، فلو كانت هناك علاقة معينة بين الأرقام (كأن يكون كل رقم أكثر من السابق له بـ2) و كان الرقم المبحوث عنه هو 50 يكفيك البدأ من 41.

و شكرًا..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم وكل عام وانتم بخير :

اسيادي انا اقصد بالضبط اريد القاعدة لتشكيل الارقام لاني انا الذي سأضعهم

ولكن اريد ان اخزن مجموع الارقام او الناتج الماخوذ من اي عملية على الارقام في خانة واحدة مثل تركيب

وعند المقارنة ننفذ المسألة بشكل عكسي لنتاكد ان الرقم المدخل هل هو ضمن قائمة الارقام

وبيجوز ادخل اكثر من عشر ارقام يمكن احتاج الى 100 او اكثر من الارقام

هل توضحت الصورة

يرجى مساعدتي

وايضاً بالنسبة للـ Positive Integers ادت عملاً جيداً ولكن لم اجد رقم يعطيني Max(Count(d(N))) فوق المئة رقم

اما Restricted Partitioning فلم افهم عملها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

حفهمك بالضبط انا عاوز ايه يمكن تتبسط الصورة

لدي برنامج فيه تقريبا شي 160 نافذة ولكل نافذة رقم ثابت لكي اتحقق ان المستخدم الحالي له صلاحيات الدخول للبرنامج ام لا

مثال نافذة اضافة عاملين ياخذ الرقم 11

نافذة الرواتب ياخذ الرقم 15

نافذة اتمام العمل ياخذ الرقم مثلا 20

ولدي جدول الusers فيه حقل اسم المستخدم و permissionLevel

هنا على حسب مافكرت انا ان مدير النظام الذي يستطيع الدخول الى جميع النوافذ اعطيه في حقل الpermissionLevel قيمة 46 طبعا مثل ما فكرت جمع جميع قيم النوافذ

اما لو اتى مستخدم عادي الpermissionLevel له مثلاً 26

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

اريد علاقة او خوارزمية انفذها على الارقام لمعرفة هل الuser الحالي له صلاحية لدخول النافذة التي سوف يدخل اليها ام لا ارجو ان تكون توضحت الفكرة

باختصار اريد ان انفذ علاقة اياً تكن على عدد من الارقام تنتج لي رقم واحد

واريد ان اتاكد هل الرقم الذي سوف اتحقق منه سابقاً موجود ضمن الرقم المعطى لي من العلاقة السابقة الذي هو سوف يخزن في pemission level

وشكراً وكل عام وانت بخير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

الآن توضحت الفكرة ..

و كلفة الحساب مكلفة جدا .. و هذا يشبة مسألة مجموع المجموعات الجزئية

أفضل حل ان تجعل حقل الــ permissisonLevel من نوع String و تخزنه بالشكل

"-11-15-20-30-" و هكذا .. حيث يمثل أرقام النوافذ و بينها المحرف - ..

فيكون المدير "-11-15-20-"

مستخدم عادي "-11-15-"

و لمعرفة هل المستخدم يملك صلاحية على نافذة ما نفحص:


if user.PermissionLevel.indexOf ("-" + myWindow.id + "-" ) > 0 then
// user has permission

و لحذف سماحية :

user.PermissionLevel.Replace ("-" + myWindow.id + "-" , "")

طبعا هذا سيأخذ مساحة في قاعدة البيانات ..

و للسهولة اجعل ارقام النوافذ كأحرف مثلا النافذة الأولى A و الثانية B و الثالثة C و هكذا ثم انتقل إلى AA و AB و AC و هكذا

فيكون المدير "-A-AB-AC-" مثلا ..

تم تعديل بواسطه houssam11350_11350
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

الآن توضحت الفكرة ..

و كلفة الحساب مكلفة جدا .. و هذا يشبة مسألة مجموع المجموعات الجزئية

أفضل حل ان تجعل حقل الــ permissisonLevel من نوع String و تخزنه بالشكل

"-11-15-20-30-" و هكذا .. حيث يمثل أرقام النوافذ و بينها المحرف - ..

فيكون المدير "-11-15-20-"

مستخدم عادي "-11-15-"

و لمعرفة هل المستخدم يملك صلاحية على نافذة ما نفحص:


if user.PermissionLevel.indexOf ("-" + myWindow.id + "-" ) > 0 then
// user has permission

و لحذف سماحية :

user.PermissionLevel.Replace ("-" + myWindow.id + "-" , "")

طبعا هذا سيأخذ مساحة في قاعدة البيانات ..

و للسهولة اجعل ارقام النوافذ كأحرف مثلا النافذة الأولى A و الثانية B و الثالثة C و هكذا ثم انتقل إلى AA و AB و AC و هكذا

فيكون المدير "-A-AB-AC-" مثلا ..

مشكور اخي حسام ولكن الا يوجد اي قاعدة للربط بين الارقام لانها كفكرة اقوى برايي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

مشكور اخي حسام ولكن الا يوجد اي قاعدة للربط بين الارقام لانها كفكرة اقوى برايي

على الرحب و السعة ....

فيه تقريبا شي 160 نافذة

للأسف ... لم يخطر ببالي أي قاعدة ...

بانتظار ردود من خبراء الرياضيات ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .