مشاهدة النسخة كاملة : ازاي أضرب العدد في نفسه؟
majic
01-04-2005, 09:16 AM
أحد مبرمجي الكومبيوتر صمم برنامج لضرب الأرقام ولكنه واجه مشكلة. عندما يضرب أي رقم في نفسه يحصل على نتيجة خاطئة. بينما يعمل البرنامج جيدا عند ضرب أي رقمين مختلفين. البرنامج يقبل فقط أعداد صحيحة ولا يقبل كسور. بعد تفكير توصل المبرمج إلى طريقة للحصول على الناتج الصحيح لضرب العدد في نفسه بطريقة غير مباشرة. ماذا فعل؟
----------------------------------
T.Conan
01-04-2005, 09:29 AM
يستخدم الرقم واحد بطريقه متفرقه مثلا 1*9*1*9
majic
01-04-2005, 10:12 AM
لا يا لورد. كدة انت معملتش حاجة لأن الكومبيوتر حيحسب 1*9=9 *1 = 9 *9
يعني في النهاية لازم تضرب 9*9 حيديلك نتيجة غلط
mo3ad90
01-04-2005, 04:28 PM
بصراحه اللغز صعب شوي :)
BaSeM
01-04-2005, 05:37 PM
يكون بالجمع مثلا
يعني 9+9+9+9+9+9+9+9+9
majic
01-04-2005, 07:00 PM
حلك وان كان به بعض المنطق يا باسم إلا أنه صعب جدا في حالة الأرقام الكبيرة. المطلوب الحصول على الناتج بأقل عمليات حسابية ممكنة لتوفير جهد الكومبيوتر.
الألغازالصعبة يا mo3ad أجمل من السهلة لأنها بتخليك تفكر أكتر ولما توصل للحل تكون أسعد. حاول وحتوصل ان شاء الله
Puppeteer
01-04-2005, 09:12 PM
أعتقد ان الحل هيكون انه يضرب الرقم فى الرقم اللى قبله و يجمع عليه الرقم نفسه تانى
مثال
9*9=9*8+9
12*12=12*11+12
majic
02-04-2005, 05:11 PM
أعتقد ان الحل هيكون انه يضرب الرقم فى الرقم اللى قبله و يجمع عليه الرقم نفسه تانى
مثال
9*9=9*8+9
12*12=12*11+12
الصراحة حل منطقي مقدرش أقول حاجة فيه وإن كنت مفكرتش فيه :)
وأعتبره حل صحيح وهو أحد الحلول.
هناك حلول أخرى أيضا.
الحل الذي أريده لا تستخدم فيه الرقم خالص. يعني مثلا لو حتضرب 12*12 تجيب الناتج دون استخدام الرقم 12 في الحل.
Puppeteer
02-04-2005, 05:54 PM
الحل الذي أريده لا تستخدم فيه الرقم خالص. يعني مثلا لو حتضرب 12*12 تجيب الناتج دون استخدام الرقم 12 في الحل.
الحل بدون استخدام الرقم
ضرب الرقم فى نفسه= ضرب الرقم اللى قبله * الرقم اللى بعده + 1
مثال
12*12=144
12*12=11*13+1=144
majic
02-04-2005, 06:01 PM
الحل بدون استخدام الرقم
ضرب الرقم فى نفسه= ضرب الرقم اللى قبله * الرقم اللى بعده + 1
مثال
12*12=144
12*12=11*13+1=144
تمام كدة يا puppeteer
فعلا ده الحل الصحيح وينطبق على أي رقم
واثبات الحل لأي رقم يتضح من المعادلة الآتية
n2=(n2-1)+1 = (n-1)*(n+1)+1
أهنيك على الحل
الحل الصحيح من نصيب Puppeteer
Puppeteer
02-04-2005, 06:08 PM
n2=(n2-1)+1 = (n-1)*(n+1)+1
شكرا على المعادلة
و شكرا على اللغز :)
BaSeM
03-04-2005, 01:07 AM
:eek: وانا بقى يا majic باشا ؟؟؟ :5bomb: :5bomb:
sa3doon
03-04-2005, 04:38 AM
ana 3andy tareka tanya ya majic basha
momken law kan el rakamen zawgy yeksem rakam 3ala 2
weyedrab el rakam el tany feh etnen mathalaa
10*10=100
5*20=100
welaw kano fardy yeksem el awal 3ala 3 we yedrab el tany feh 3
9*27=243
3*81=243
majic
03-04-2005, 06:16 AM
:eek: وانا بقى يا majic باشا ؟؟؟ :5bomb: :5bomb:
انت على عيني وراسي أخي باسم. ولكنك تعلم أن طريقتك غير واقعية يعني لو عايزين نضرب 1000 في 1000 نجمع الألف على نفسه 1000 مرة. يعني عايز ألف عملية حسابية وده طبعا مش منطقي ومفيش أي مبرمج يلجأله لو عنده حل أسهل.
ana 3andy tareka tanya ya majic basha
momken law kan el rakamen zawgy yeksem rakam 3ala 2
weyedrab el rakam el tany feh etnen mathalaa
10*10=100
5*20=100
welaw kano fardy yeksem el awal 3ala 3 we yedrab el tany feh 3
9*27=243
3*81=243
حلك صحيح بالنسبة للأعداد الزوجية أما الأعداد الفردية فخطأ . ليست كل الأعداد الفردية تقبل القسمة على 3 ولا تنسى أن هناك أعداد أولية كثيرة لا تقبل القسمة إلا على نفسها.
nighthawkel
03-04-2005, 07:26 AM
السلام عليكم
اعتقد ان ابسط وانجع حل هو كالتالي:
العدد * العدد الذي اكبر منه ب 1 ناقص العدد نفسه
مثال العدد 5 :
5 * 6 - 5
العدد 1
1*2 - 1
وهكذا ...
العدد -5
(-5)*(-4 )-5
بالبارامترات
a for example
a*(a+1)-a
.
majic
03-04-2005, 07:41 AM
نعم يا nighthawkel
وحلك يشبه حل Puppeteer الذي اقترحه في المشاركة رقم 7 أن يضرب العدد في الرقم اللي قبله ويجمع عليه نفس الرقم. ولكني كنت أريد حلا لا تستخدم فيه الرقم نفسه. كما أن هذين الحلين ليسا قاعدة عامة لأنه إذا كان الرقم بالسالب مش حتنفع إنما في الطريقة المثالية إني أضرب الرقمين السابق والتالي للرقم وإجمع عليهم 1 تنفع مع أي رقم. كمثال -3
-3*-3 = -2*-4+1=9
-1*-1=-2*صفر+1=1
nighthawkel
05-04-2005, 11:06 PM
السلام عليكم
بخصوص الحل الذي وضعته فيمكن التغلب على مشكلة الاعداد السالبة بواسطة اضافة اشارة القيمة المطلقة للعدد المطروح يعني
a*(a+1)-|a| for Ex
على كل حال حلك بالفعل اسهل
germanyholic
21-08-2007, 05:09 AM
اذا كان العدد زوجيا نقسمه على 2 فيكون لدينا رقم جديد س ثم نضرب العدد في س مرتان
اما اذا كان العدد فرديا نضرب العدد في 2 فيكون رقم جديد س فنضرب العدد الاصلي في س ثم نقسم العدد الاصلي على 2
savior3
05-09-2007, 09:18 PM
مثلا 9*9 =9 *5+4=9*5+9*4
هذا رأي
ZMOLIU©
13-09-2007, 12:30 AM
ممكن نجيبها بالأس
dodg7
22-09-2007, 08:03 AM
او نضرب العدد فى ضعفة ونقسم الناتج على 2
6*6=36
6*12=72/2=36
mishoo18
27-09-2007, 08:03 AM
نضرف فى ضعف الرقم نفسه ثم نقسم الناتج على اثنين
لو عايزين مثلا نعرف 3*3بكام
هنضرب 3*6=18
ثم نقسم على 2=9
taymor_tato
29-09-2007, 07:17 PM
مشكوووووووووووووورين
وليد محمد ثابت
01-10-2007, 08:52 PM
شكراااااااااااا
TiMe Up
08-10-2007, 04:00 AM
يضرب العدد في نصفه مرتين
مثال : 4 * 4 تصبح : 4 * 2 * 2
sona1963
12-08-2008, 09:35 PM
السلام عليكم
لاكن الحاسبة لا تعرف الجمع حسب المعطيات
fantastic 5
12-08-2008, 09:42 PM
اخي العزيز , ارجو منك قراءة اللغز مرة اخرى , لم يذكر في اللغز ابدا ان الالة لا تقوم بالجمع
sona1963
12-08-2008, 10:12 PM
اخي العزيز , ارجو منك قراءة اللغز مرة اخرى , لم يذكر في اللغز ابدا ان الالة لا تقوم بالجمع
نعم أخي الكريم شكرا جزيلا لك
إذن سأطرح حلي لأني أراه مناسب وهو
نأخد العدد الذي نريد ضربه في نفسه مثلا 97 تم نضيف في آخره 0 يصبح 970 يعني نضرب العدد في 10
ثم نعطي الحاسبة 97*970
ستعطينا94090 نتيجة نحذف الصفر من آ خرها ونحصل على ما نريد وهو 9409
أتمنى أن يكون هذا هو المطلوب وشكرا لك أخي الكريم عن ألغازك الرائعة
fantastic 5
12-08-2008, 10:35 PM
حلك صحيح يا اخي , ولكن صاحب اللغز سبق ووضح انه مش هيستخدم الرقم في العملية , عموما طريقتك سليمة ولا غبار عليها , وتعتبر من الحلول الصحيحة
سعدنا بمشاركتك في المنتدى
sona1963
12-08-2008, 10:42 PM
حلك صحيح يا اخي , ولكن صاحب اللغز سبق ووضح انه مش هيستخدم الرقم في العملية , عموما طريقتك سليمة ولا غبار عليها , وتعتبر من الحلول الصحيحة
سعدنا بمشاركتك في المنتدى
شكرا لك أخي الكريم عن الرد
أنا بم انتبه لذالك
كان لذي حل آخر أن اضرب العدد في مقابله تم احذف إشارة ناقص لاكني استبعدته لأن به إشارة -د
شكرا لك مرة أخرى أخي
MR: PUZZLE®
13-08-2008, 10:07 AM
ما يرفعه علي اس 2 ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
rabi3ko
21-08-2008, 12:42 PM
تمام كدة يا puppeteer
فعلا ده الحل الصحيح وينطبق على أي رقم
واثبات الحل لأي رقم يتضح من المعادلة الآتية
n2=(n2-1)+1 = (n-1)*(n+1)+1
أهنيك على الحل
الحل الصحيح من نصيب Puppeteer
انا شايف الحل ده مش صحيح ولا المعادلة دى صح بعد ازنك يا اخ ماجيك
على اساس ايه حضرتك فى المعادلة وزعت الواحد على القوس الموجب بس
و لو حضرتك جربت ختلاقى ان الطريقة مش صح فى كل الارقام
و الف شكر
msa_lonly
29-08-2008, 07:13 AM
الله ينور يا علي بجد مجهود ميحصلش
vBulletin v3.6.10, Copyright ©2000-2009
Translated by www.hostarab.com