كما في العنوان قم بتعريف دالة تقسم عددين بدون استخدام القسمة أو الضرب أو باقي القسمة
ولتسهيل التحدي ليس المطلوب منك كسر عشري فقط عدد صحيح (integer)
هذه محاولتي في بايثون (تحتمل التحسين) أتمنى منكم محاولة حل التحدي قبل رؤية الحل
https://gist.github.com/afa...الحل المنطقي والأبسط لعملية القسمة دون استخدام علامة القسمة هو الطرح المتكرر
ببساطة .. ﻷن القسمة ما هي إلا عملية طرح متكررة
كذلك بالنسبة للضرب .. فالحل الأمثل للضرب دون استخدام اشارة الضرب هو الجمع المتكرر
مثال الضرب لبساطته:
5 *3 = 15
هذه العملية يمكن الاستعاضة عنها بالطريقة التالية:
5 + 5 + 5 = 15
وهذه الطريقة تدرس في السنوات التعليمة الأولى
مثال القسمة بالكود .. جافاسكربت
function div(a,b){
r = 0;
while(a >= b){
a -= b;
r++;
}
if(a > 0){
v = 0 ;
for(var i = 1; i <= a; i++){
v += 1 / b;
}
r += v;
}
//rr = "r:" + r + ", a:" + a;
//return rr;
alert(r);
}
x = prompt("ادخل الرقم الأول");
y = prompt("ادخل الرقم الثاني");
div(x,y);
رابط لتجربة الكود أونلاين :
التعليقات