دعواتكم لزميلنا المفكر د.الباقر العفيف بالشفاء العاجل
|
بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب.
|
عندى 3 ارقام، وداير نتيجة جمع خاصـة، بحيث لو رتبتهم بطريقة اخرى النتيجة تختلف. مثلا 3+7+8 لا تساوى 7+3+8 طبعا ممكن صفهم بان تشيل علامة الزائد ولكن هذه تجعل الرقم النتيجة طويلا لو الاعداد مكونة من اكثر من رقم. عدد الارقام فى الاعداد الثلاث متساوية. يللا باللاى إتلحلوا وشوفوا ليها حل
|
|
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: الشفيع وراق عبد الرحمن)
|
شكرا يا اخ الشفيع على المساعدة الفورية، ومن الاخر كدا. لو جمعت 6 + 5 النتيجة 11. ولو جمعت 5 + 6 برضو النتيجة 11. ابحث عن طريقة جمع تدينى رقم مختلف عند أختلاف مواقع الآرقام المجموعة. يعنى 5+6 لا تساوى 6+5. كما قلت ممكن اشيل علامة الزائد فتكون 5+6=65، و6+5 = 56 ولكن ابحث عن طريقة افضل. (ملحوظة النتيجة لا يجب ان تكون حسابيا صحيحة)
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: محمد فرح)
|
Quote: شكرا يا اخ الشفيع على المساعدة الفورية، ومن الاخر كدا. لو جمعت 6 + 5 النتيجة 11. ولو جمعت 5 + 6 برضو النتيجة 11. ابحث عن طريقة جمع تدينى رقم مختلف عند أختلاف مواقع الآرقام المجموعة. يعنى 5+6 لا تساوى 6+5. كما قلت ممكن اشيل علامة الزائد فتكون 5+6=65، و6+5 = 56 ولكن ابحث عن طريقة افضل. |
اللمين البشاري حاضر عن من لفه لفهم أولاً السؤال ما واضح شديد ثانياً عملية الجمع هي عملية تبادلية وبالتالي لو غيرته مكان الارقام ستكون النتيجة واحدة (يعني 5 + 6 لازم تساوي 6+5 ) دا لو كانت الارقام ثوابت وعشان كده لازم تعتمد على المتغيرات طبعاً العملية البتقول عليها دي رياضياً ما ممكن وعشان تتحايل عليها ممكن تثبت المجموع الانت عايزه وتخزنه في ثابت(constant) وهو Z في المثال الفي الاسفل بينما لازم تخلي الارقام عبارة عن متغيرات حرة (variables) (معليش ما عندي compilers) عشان اختبر ليك العملية دي ولكن هي فكرة فقط يمكنك تطويرها ........ لو قمت بجعل الارقام المجموعة ثوابت ستكون النتيجة واحدة وهي الخطأ لا محالة
declare
x As Integer y As Integer z As Integer
begin
If z = 65 Then Z = x + y
End If
If z = 56 Then Z = y + x
End If
End
وضح سؤالك كويس عشان تجيك الاجابة......... الكلام الفوق دا ما ممكن يطبق الاثنين مرة واحدة ويعتمد على اختيارك للمجموع يعني لو اخترت المجموع 65 سيطبق الجزء الاول فقط ولو اخترت المجموع 56 سيطبق الجزء الثاني .. ..
بعدين اسئلتك زي اسئلة رضا مصطفى البشير الشيخ وفيصل سيحة والله صحي ()
تحاياي
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
Quote: مقلوب 5 + 6 = 101 + 011 = 221 |
صباحات بخير يا بريمة، شكرا واول حاجة مقلوب 6 = 1 وليس 11، ومقلوب 5 = 10، ثانيا فى تغيير لقانون اللعبة فى نص اللعب، ودا ماممكن.. القانون ما مفروض يتغيـر و محتاج فنكشن ثابتة زى ما قلت الحل الساهل هو شيل علامات الحساب فتكون 5+6 = 65، و 6+5 = 56 لكن دا قد يودى النتيجة لأكثر من 16 بت
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
One can use a CRC function and the problem is solved, but this will take a long time to calculate CRC value each time the variables change in fact, the variables change so fast that their product should be calculated on the fly- I have a gift for anyone who comes-up with a solution
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
Quote: وبكده تكون الجائزة حقتى .. وح أرسل العنوان على الماسنج |
رسل العنوان يا بريمة واطلب اى شئ على العين والراس، لكن الحل ما بجيب جائزة مع الاسف، لأنه برقمك العشوائى دا لو نفس الرصة جات مرة تانية قيمتها حتتغير. يعنى 6 + 5 الان ما حتساوى 6 = 5 بعد ثانيتين.. النتيجة مفروض تتغير فقط لما الرصة او عناصر المصفوفة تتغير. وكدى جرب تانى
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
أبوالريش و من لف لفه
Quote: يا شباب الموضوع ما حساب ولا رياضيات، الموضوع برمجة، |
البرمجه ما مجالي... لكن بتعامل كثير بال bin و ال hex F(x,y,z) = x +2y + 4z و إذا شغال بال binary الضرب في 2 أو 4 سهل
من مثالك 5,6,7
5 + (4x7) + (6x2) و النتيجه 45
أو 6,5,7
6 + (4x7) + (5x2) و النتيجه 44
الخ...
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
Quote: الاخ محمد شمس الدين، مبروك حتى الان، والجائزة ستكون من نصيبك لو لم يأتى أخ اخر بحل افضل يختصر النتيجة لرقم أصغر حين تكون المعطيات ارقام أكبر. |
لوالريش.. يا للا ورينا مكانك وين... عشان أقعد أتخيل الجائزه.. إن شاء إسفيريا.. كان قاعد في الدويم - جبنه... و كان في الابيض جبنه مضفره...و كان في هولنده برضو جبنه...و كان في كسلا برضو جبنه (مع إختلاف التشكيل)... و كان في مكه بقول دعوه في الحرم ..بس ما تخلاني إحتمال أقول أقول ليك الفيك إتعرفت ...
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Mohamad Shamseldin)
|
الباشمهندس أبو الريش
الجائزة حقتى أنا .. وح أوريك غلط ول أبا محمد شمس الدين، اولاً سلام يا ول أبا محمد ..
Quote: البرمجه ما مجالي... لكن بتعامل كثير بال bin و ال hex F(x,y,z) = x +2y + 4z و إذا شغال بال binary الضرب في 2 أو 4 سهل
من مثالك 5,6,7
5 + (4x7) + (6x2) و النتيجه 45
أو 6,5,7
6 + (4x7) + (5x2) و النتيجه 44
الخ... |
النتيجة 44 أو 45 ليس unique .. ونثبت الخطء بالفنكشن 6 + 5 f(x, y) = 6 +5x2 = 16
f(x,y) = 8 + 4x2 =16
يعنى f6,5 تساوى f8,4 وهذا خطأ ويحصل فى كل معادلة بهذه الصيغة سواء كانت من عددين أو أكثر ..
بريمة
(عدل بواسطة بريمة محمد on 03-23-2012, 12:05 PM)
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
الاخ بريمـة وبقية المشاركين الافاضل، ، عشان اطلع من اللوم أقترح تكوين لجنة من رياضى المنبر تقرر فى الحلول وتختار الحل الصحيح، لذلك ايضا أقترح ارسال الجائزة للأخ بكرى او الاخ النصرى امين لتكون فى عهدته ويرسلها لمن تعلنه اللجنة فائزا.. رايكم شنو؟ Prize is an electronic picture frame with USB interface and can play MP4 video
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
أبو الريش
ما ترسل الجائزة إلى أي جهة حتى نحسموا أمرها هنا ..
حتى الأن أنا لدى نقد للأخوان محمد شمس الدين وأمين .. ولم يأتوا بحلول أضافية تقنعنا بسلامة الحل، عشان أنتظر لما يقنعونا بحلول أجدى.
أضف يا أخى أنت ظالمنى ظلم الحسن والحسين .. أنا أول من أعطاك الحل .. لازم تنظر فى حلى إذا لم يستوف الشروط تمشى للبعديهو ولا شنو؟
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
ول أبا بريمه سلام
أبوالريش.. وقت الخرخره بدت من ول أبا.. خلي النسألك.. عشان أجيب ليكم كثافه ول أبا 1- حدد أرقامك الثلاث (مثلا من صفر .. حتي 63,,, أو من صفر حتي 255.. أو ..) 2- هل موضوعك سرعه أم resources.... إذا كانت سرعه... أسرع من الفنشكن بتاعتي ما حل تلقي لانها ممكن تتعمل في 2 clock cycles .. دي ممكن تتعمل في بعض ال في نانو سكند .... شفل ناس ول أبا.. ده ما بيخارج معانا في شغل الكهرباء عامه و توزيع ال loads .. خاصه في التيار و خلافه.. يمكن صحبك ده يحل مشكله حراره أو أي شئ لا يتغير بسرعه... عشان هو بقاري .. نقرب ليهو .زي لمن تجيب سخيل يسابق ليهو جمل و حصان... السخيل لا يستطيع 3- الفنكشن بتاعتي محدوده حال وجود رقمين من ال 3 متساويان... لكن لذلك حل 4- إذا مشكلتك موضوع ريسور .. وضح محدوديه ذلك...
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Mohamad Shamseldin)
|
ول أبا محمد شمس الدين سلامات
Quote: يمكن صحبك ده يحل مشكله حراره أو أي شئ لا يتغير بسرعه... عشان هو بقاري .. نقرب ليهو .زي لمن تجيب سخيل يسابق ليهو جمل و حصان... السخيل لا يستطيع |
أنت من دخلت فى الخط أنا قلت يا زول الشغل جاب ناس شاربين لبن البكارى .. ال colostrum .. مش ذى ناس دينق وكوستاوى مربينهم بالمشك والكنجيمورو .. والمنافسة يداب سخنت .. وكمان دخل فى الخط الأخ أمين، مبرمج خطير ..
لكن يا ول أبا محمد، البرنامج يخلص قبل ما يرتد إليك طرفك .. بالجد.
بعد المنافسة تنتهى أنا ح أرسل ليكم البرنامج أنت والأخ أمين للتقيم والنقد حتى بعد الجائزة .. لو لقيتوا أى ثغرة ح أرجع الجائزة. شوف التحدى قدر شنو يا ول أبا.
أخوك راقد قفا ..
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
تحية طيبة
اتفضل يا عم ، معادلة بسيطة و الامثلة تحت ، طبعا انا استعملت برنامج اكسل
=IF( value1>value2,value1+value2,value1+value2+100)
ترجمة لغير الناطقين بها
اذا كان الرقم الاول اكبر من الرقم الثانى ، يكون الناتج مجموع الرقيمين
اذا كان الرقم الثانى اكبر من الرقم الاول، يكون الناتج مجموع الرقيمين باضفة الرقم 100 على المجموع
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
ههههههههههه
تحية طيبة
ما بالسهولة دى يا شيخ بريمة ، ما زال فى الامر حديث
نغير المعادلة شوية ، المعادلة دى مطاطية
=IF( value1>value2,((value1+value1)+value2),((value1+value1)+value2+100))
,و تبقى الحكاية كـ التالى
اذا كان الرقم الاول اكبر من الرقم الثانى ، يكون الناتج مجموع ضرب الرقم الاول فى اتنين + الرقم الثانى
اذا كان الرقم الثانى اكبر من الرقم الاول، يكون الناتج مجموع ضرب الرقم الاول فى اتنين + الرقم الثانى + 100 على المجموع
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
Quote: المنافسة حتى الان بين أمين سالم وبريمة ومحمد شمس الدين (ترتيب أبجدى للاسماء). |
سلامات يا ابو الريش
امين طلع قبيل من المنافسه مزنؤق شغل لمن عينه طالعه والمشكله انو من غير قروش As it is time to contribute to the open source software or more precisely Linux
لو عندك الزمن تقرى برسل ليك ال Links
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
الأخ محمد الأمين سلام ..
Quote: =IF( value1>value2,((value1+value1)+value2),((value1+value1)+value2+100))
,و تبقى الحكاية كـ التالى
اذا كان الرقم الاول اكبر من الرقم الثانى ، يكون الناتج مجموع ضرب الرقم الاول فى اتنين + الرقم الثانى
اذا كان الرقم الثانى اكبر من الرقم الاول، يكون الناتج مجموع ضرب الرقم الاول فى اتنين + الرقم الثانى + 100 على المجموع
|
طيب نطبق على المعادلة ..
6x2 + 5 = 17 7x2 + 3 = 17
وكده تطلع معادلتك تانى فشنك ساكت .. 6+5 = 7 + 3 = 17 على حسب معادلتك .. الجزء الأول .. وما دام الجزء الأول خطأ نكتفى به.
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
Quote: how could a whole function be executed in 2 clock cycles |
أبوالريش و ود أبا ومحمد الامين و أمين و حتي دينق ظاتو من لف لفهما الموضوع هنا ليس برمجه سوفتوير و إستخدام بروسسور هنا نستخدم الهاردوير لاجراء العمليات الحسابيه باستخدام ال ASIC أو باستخدام ال FPGA ميزتها السرعه و تتعامل مع العمليات الحسابيه بطريقه ليست sequential ودي في الاشياء التي تتطلب سرعه فائقه لا يمكن للسوفتوير أن تواكبها
عشان كده جيبنا لود أبا مثل السخيل و الحصان و الجمل بالمناسبه يا ود أبا و أبوالريش و من لف لفهما.. نحنا لمن كنا "بنقور" جهال صغار.. كانو بيسألونا أسرع الجمل ولا الحصان.. و كنا نقع في الشرك؟ نقول الحصان
طيب أخذ ال set الاول 5,6,7: التعامل يكون بال binary 5 = 00000101 6= 00000110 7 = 00000111 عندما تضيف لاي رقم صفر باليمين ...يعادل ذلك الضرب في 2 عندما تضيف لاي رقم صفرين باليمين ...يعادل ذلك الضرب في 4
لذلك أنا في الفنكشن أخترت الضرب في 2 و 4 و لم أختار 3 مثلا
الكلوك سايكل الاولي ناخذ الرقم 6 و نضيف له صفر باليمين يعني الرقم من 00000110 يصبح 000001100 ( لاحظ أن هذا 12 او بالهكس C و في نفس الكلوك سايكل نضيف الرقم 5
الكلوك سايكل الثانيه ناخذ الرقم 7 و نضيف له صفرين باليمين يعني الرقم من 00000111 يصبح 0000011100 ( لاحظ أن هذا 14 او بالهكس E و في نفس الكلوك سايكل نضيف ذلك لحصليه النتيجه في السايكل الاولي
عملنا ليكم دزاين صغير للشغلانه مع السميلوشن الset الاول 5,6,7..و النتيجه في 2 كلوك سايكل الset الثاني 6,5,7 .. و النتيجه في 2 كلوك سايكل لاحظ ان ال result بعد 2 كلوك سايكل من تغيير الارقام
(بالمناسبه لو لا تهتم بالدقه.. ممكن نختصرها ليك في كلوك سايكل واحده.. بس الجائزه مختلفه)
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Mohamad Shamseldin)
|
طريقه حل أخري.لا علاقه لها بالطريقه الاولي مخصوص عشان تجيب كثافه ود أبا و من لف لفه لا نحتاج لضرب أي رقم في عدد ما أو إضافته لعدد ما.. و أنما تعديل الرقم لرقم أخر حسب وضعه (أن كان الاول نعدله لرقم يختلف إن من أن كان الثاني) و تعتمد أيضا علي التعامل مع الرقم في ال binary وتبديل ال bits لكل رقم مع بعضها بناء علي منظومه معينه يمكن التلاعب بالرقم حسب و ضعه (الرقم الاول أو الرقم الثاني او الرقم الثالث)... و ذلك بتبديل الخانات في ال binary. مثلا نقرر أن الرقم الاول.. نبدله حسب المنظومه الاتيه نبدل ال bit0 في bit5. نبدل ال bit1 في bit6. نبدل الbit2 في bit7 . نبدل ال bit3 في bit0. نبدل ال bit4 في bit1. نبدل ال bit5 في bit2. نبدل ال bit6 في bit3. نبدل ال bit7 في bit4.
الرقم 5 يصبح ..... A0 و الرقم الثاني حسب المنظومه الاتيه نبدل ال bit0 في bit3. نبدل ال bit1 في bit4. نبدل الbit2 في bit5 . نبدل ال bit3 في bit6. نبدل ال bit4 في bit7. نبدل ال bit5 في bit0. نبدل ال bit6 في bit1. نبدل ال bit7 في bit2. الرقم 6 يصبح hex 30
و كذلك للرقم الثالث حسب المنظومه الاتيه نبدل ال bit0 في bit6. نبدل ال bit1 في bit7. نبدل الbit2 في bit0 . نبدل ال bit3 في bit1. نبدل ال bit4 في bit2. نبدل ال bit5 في bit3. نبدل ال bit6 في bit4. نبدل ال bit7 في bit5. الرقم 7 يصبح hex C1
ثم نجمع الارقام الجديده * الرقم 5 لو كان الرقم الاول سيصبح A0 , إن كان الرقم 5 هو الرقم الثاني سيصبح hex 28 و إن كان الرقم الثالث سيصبح hex 41
*طريقه تبديل الارقام يجب أن تختار بطريقه تغطي كل الارقام من صفر ل 255 بحيث تكون النتيجه في كل مجموعه ... unique (هذه لم أعمل لها فيرفيكاشن)
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
ول أبا محمد شمس الدين
سلام .. أولاً المعادلة (أ) أنت فقط شرحتها بال Bin .. ثانياً أنت لم تعدل فى الفنكشن الأساسية عشان تعطينا أرقام متفردة unique وهذه هى مشكلة التى لم تستطع علاجها.
يعنى المعادلة (أ) خارج المنافسة وما عارف ليه الباشمندس معجب بيها رغم ثبات خطلها.
ح أجيك للمعادلة الثانية وأوريك المشكلة ..
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
ول أبا محمد شمس الدين
والله أنت حريف خلاص! عايز تأكلنا حنك بال Bin
تعال شوف المشكلة الصاح ..
الفنكشن
7 + 6 + 5 = 264 + 56 + 257
كيف أنا توصلت للشغل الرهيب دا ..
الرقم 5 = 0000101 نطبق عليه التغيرات فى ال set 1 يطلع يساوى = 0010001 نرى فى set3 الرقم 264 = 1000100 (يعنى أعمل reverse engineering in set3) نطبق عليه التغيرات فى ال set 3 يطلع يساوى = 0010001
هل لاحظتم 5 فى set 1 والرقم 264 فى set3 أعطونا نفس النتيجة ..
بنفس الأثبات السابق 6 فى set2 تساوى 257 فى set 1 تساوى بعد التغيير = 0011000
وهكذا 7 فى set3 تساوى 56 فى set2 وتساوى = 1100001
إذن 7 + 6 + 5 = 264 + 56 + 257
ببساطة أنا قاعد أطلع 5 من set1 بعد التغيير واقوم أبحث العدد المقابل فى set 3 وهكذا
ول أبا والله أنت حريف لكن أنا ما بخلى الجائزة دت كى ..
الكلام دا يعنى حتى ال هاردوير ح يكون عنده نفس المشكلة التى أوردتها .. ما ح يكون هناك نتيجة unique
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
وصلنى الأتى من القارئ [email protected]
Quote: Brima, A random number can theoretically generate the same number, the trivial solution is to use the position of the number as coefficient. For example p is unique based on the order of the number p(x)x+p(y)y+p(z)z =Sum(px,py,pz)!=Sum(p(y)y+p(x)x+p(z)z) this is true all the time ...... If I win please donate the prize to SPLA-N just to tick you off for the many time you made me go to "al-mir-had" just kidding.
|
تشكر يا أخى على الفزلقة الظريفة .. مفروض تذكر أسمك كاملاً حتى نعرف من أنت ..
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
وصلنى النقد التالى من الباشمهندس أمير سليمان
ويقول فيها tshoush لم يصب الهدف
Quote: I thought this is an operation not a function that equals to a different number multiplied by each variable to randomize the result it I think tashoush is missing the point here Abu alresh then can do a good job in explaning his problem what he meant here I guess correct me if I m wrong Abualresh is you meant an operation not a number I guess tashboush approach is similar to the crypt problem where you have a key that you add to your plain text to encrypt Functions can be a value but I guess thats not what he meant
|
أتوقع من الأخ tshoush أن يرد على مداخلة أمير وسوف أتابع الأيميل لنقل رده إلى هنا ..
مع خالص التحايا
بريمة
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: منتصر الامين)
|
شكرا يا بريمة وشكرا لكل الاخوة الافاضل الذين شاركوا فى المنافسة الان لكل منافس مداخلة واحدة فقط يلخص فيها حله وتكون المداخلة كالاتى: Explain your solution and then provide a clearly commented ANSI C code that can be compiled with any c compiler The function accepts 3 byte-wide variables and returns a 1-byte unique identifier for different arrangements of the variables' positions on the array سأقوم بكتابة برنامج اختبار لكل حل وأعلن رأيى هنا، تكون فترة طعون لثلاث ايام لإعتبارات فروق الوقت، ولو لم يتم إتفاق فستكون لجنة تحكيم وقرارها نهائى.
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
Quote: هل لاحظتم 5 فى set 1 والرقم 264 فى set3 أعطونا نفس النتيجة .. |
ول أبا حلي الثاني أقوي من الحل الاول و أنا متمسك به الرقم 5 لا يتغير ل 264 أبدا.. الرقم 5 يتغير ل A0 بالهكس أو 160 بالديسمل أذا كان هو الرقم الاول من حيث الترتيب أذا كان الرقم 5 هو الثاني من حيث الترتيب يتغير ل 28 بالهكس أو 40 بالديسامل أذا كان الرقم 5 هو الثالث من حيث التتريب يتغير ل 41 بالهكس أو 65 بالديسامل
أبوالريش قال أرقامه بين 0- 255 أي 00-FF .. أي أن أي رقم 8 بت فقط.. و عند تغيير أي رقم يحتفظ الرقم الجديد بنفس عدد البت في الحل أعلاه كل ما يجب أن تقوم به أولا هو تبديل ال bits في الرقم... يعني أيضا عندك أي ناتج لرقم يجب ان يكون محصورا في 0 -255.. ثم بعد ذلك تجري الجمع هذا الحل أنا جربته لكل الارقام.. و يصلح حتي لو كانت الارقام الثلاثه فيهن أثنان متساويان ....يعني لو عندك مثلا 5-5-6 أو 6-8-8 أذا لن تتحصل علي نفس النتيجه الا في حاله واحده فقط و هي تساوي الثلاثه ارقام .. مثلا 5-5-5 لذا هذا الحل يغطي كل الاحتمالات (256 رقم في ثلاثه خانات) عدا واحده فقط (حال تساوي كل الارقام.. و هذه حاله غير valid)... لاحظ في السميلوشن المرفق الرقم 7 عندما يكون في الاول نحوله ل E0 و عندما يكون في الرقم الثاني نحوله ل hex 38 و عندما يكون الرقم الثالث نحوله ل hec C1 السميلوشن المرفق يوضح لك نتيجه تحويل الارقام من 0 – 8 حسب خانتها بين الارقام الثلاثاء
هذا الحل معمول بالهاردوير... يمكنك عمله بالسوفتوير أو الماتلاب و تتحصل علي نفس النتيجه..... مقارنه هذا الحل مع حلي الاول و حل ودأبا بريمه... هذا يستخدم ريسورس أقل لانه ليس فيه خطوات لجمع أو ضرب للارقام في الاول قبل الجمع النهائي.. أي أنك تعدل الارقام فقط حل الموضوع هو أن تاتي بفنكشن تربط موضوع الرقم بالفنكشن...
سؤال عن حل الباشمهندس أمير .. في الخطوه 3 ما المقصود بعمل ال xor... لاي الارقام؟
و لان السيمولشن غير واضح هنا جدول للارقام و تغييرها... و الارقام بالهكس
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
ول ابا محمد شمس الدين سلام .. أنت يا أخى ما ركزّت معاى ..
أنا قلت الفنكشن فى معادلاتك ليس unique وأتيت بالمثال التالى الذى تتساوى فيه النتيجة ..
7 + 6 + 5 = 264 + 56 + 257 بعد التحويل ..
والسبب فى أن 5 فى ست 1 .. و264 فى ست 3 يأتيان بنفس القيمة بعد التحويل وكذا 6 فى ست 2 و 257 وكذلك 7 و26 حب مواقعهما
نعود ليك للمثال السابق بتاع 6+5 = 8 + 3 يحصل نفس الشيئ فى الفنكشن .. وساهل جداً أى ثلاثة أرقام ، هناك ثلاثة أرقام أخرى تأتى بنفس النتيجية بتاعتها .. جرب المعادلات 7 + 6 + 5 = 264 + 56 + 257
وبالتالى النفكشن ليس unique
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: بريمة محمد)
|
طيب نشرح أكثر: بعد تحويل الأرقام نحصل على ال Bin التالى 7 + 6 +5 = 1100001 + 0001100 +0010001
258 + 56 + 257= 0010001 + 1100001 + 0011000
فى المعادلة الأولى 5 فى ست 1، 6 فى ست 2، 7 فى ست 3
فى المعادلة الثانية 257 فى ست 1، 56 فى ست 2، و 258 فى ست 3
لاحظ الثلاثة Bin فى المعادلة الأولى تتطابق مع ال Bin فى المعادلة الثانية مع أختلاف مواقعها فى الست ..
بريمة
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
أبوالريش الحل هو حل عام لفنكشن..ممكن تجربه في سوفتوير أيضا في سي أو ماتلاب (السي أنا طولت منها .. لكن في الماتلاب سهل).. لا ادري كيف يقيسيون إستخدام الريسوس في السوفتوير.. لكن في الهاردوير نهتم بعدد flip flops و gates التي يستخدمها أي دزاين... و أجزم بوجود نفس الشئ في السوفتوير... لذا نتحايل علي عمليات الضرب المكلفه. و نستخدم ال xor التي أشار لها الباشمهندس أمير كثيرا لخاصيتها. عموما الحل لا يستخدم الكثير من الريسورس
ول أبا بريمه طيب يا ول أبا.. واحده واحده: بالنسبه للحل الثاني الذي تبدل فيه البت في الرقم
Quote: 7 + 6 +5 = 1100001 + 0001100 +0010001 |
أعتبر أن الارقام هي x, y, z و تحويل الارقام نتيجته هي x1, y1, z1 خذ مثال 5,6,7 أي أن X=5 Y=6 Z=7 أذا X1=A0_hex=160_dec Y1=30_hex=48_dec Z1=C1_hex=193_dec
حاصل الجمع هو 401(dec) إذا5+6+7 بعد أن نحولها تصبح (تابع الجدول أعلاه لتحويل الارقام من 0 ل 8))
5+6+7= 10100000+ 00110000+ 11000001
Quote: 258 + 56 + 257= 0010001 + 1100001 + 0011000 |
, أي رقم يا لريمه يجب أن يكون أقل من 256 لان الارقام 8 بت فقط.. أذا 258 و 257 not valid Quote: 258 + 56 + 257= 0010001 + 1100001 + 0011000 |
الرقم الوحيد ال valid هنا هو 56 أما الرقمين 257 و 258 فخارج النطاق (أكثر من 8 بايت) و لان 56 يكون هو الرقم الثاني أو y y=56_dec=38_hex=01111000_bin بتحويل البت نحصل عليy1 Y1=00001110_bin=0E_hex_=14_dec
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
الأخوة بريمـة ومحمـد، (والاخ امين سالم لو سمح وقتـه) ارجو الان، وقد تبلورت الاراء، ان يقدم كل حله بلغة سى أو فى شكل pseudo code من جانبى سأعلن الفائز وارسل له الجائزة، على ان يكون معلوما لو فى أى وقت وفى غضون شهرين لو أكتشف أى شخص حالة فيها الحل الفائز لا يسرى فإن الفائز يوافق على ارجاع الجائزة. فما رأيكم؟
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
بريمه .. صحيح بالرفيس إيتجرينق حصيله المجموعه الاولي و المجموعه الثانيه ستكون ... 191_hex و لكن أنت هنا لا تريد أن يكون المجموع unique لكل الارقام يعني 256x255x254 اي 16,581,120 رقم .. و إنما للثلاثه أرقام فقط
إذا كان المطلوب أن يكون الحاصل أو المجموع يونيك لكل الارقام فيمكن إضافه 0 باليمين للعدد الثاني.. و 1 باليمين للعدد الثالث .. مع ترك العدد الاول بدون إضافه... أي في حاله 5-6-7 x-y-z X1=A0 Y1=300_hex Z1= C11 نجمع A0+300+C11=FB1
في حاله 129-56-130 أو بالهكسx=81 Y=38 Z=82 و تحويل البت ينتج
X1=30_hex Y1=C10 Z1=A01 حصيله الجمع ستكون 1641_hex و أكبر رقم في النتيجه سيكون 20E1_hex سعته...14 بت
و بذا خطوات الحل تكون: 1- تعديل البت في الرقم الاول 2- تعديل البت في الرقم الثاني و إضافه 0 باليمين 3- تعديل البت في الرقم الثالث و إضافه 1 باليمين 4- جمه الحصيله
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
Wrap it up Brema , please send me by email the Java code and exe file with GUI, and it would be so helpful if you also sent me Java compiler Mohamed, please send me, also by email, the Schematics of the FPGA circuits in Protel 99 or OrCad (if possible), along with the logic flow since these two approaches are different, and if found both working, then the prize will be shared
| |
|
|
|
|
|
|
Re: بريمة ومن لف لفـه.. فنكشن لهذه المشكلة وينوبكم ثواب. (Re: Abureesh)
|
الباشمهندس أبو الريش سلامات ..
البرنامج الفوق بسمح لى أنا أعمل ليك كل حاجة فى كمبيوترك .. بدون ما أنت تحتاج تعمل الحاجات ..
قبل ما تصحى بإذن الله أكون جمعت الحاجات وأرسلتها ليك .. لكن محتاجة منك ل set up دا الكنت عايز أساعدك فيهو ..
أسف .. لم أستطع أستقبال التلفون لأنى بكون بعيد وعلى بال ما ألحق يكون قطع ..
بريمة
| |
|
|
|
|
|
|
|