إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تمرين رياضي ... دائما مع الاحتمالات 2

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • #16
    بسم الله الرحمن الرحيم
    المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
    سبحان الله و بحمده
    تفضل أخي الجواب (متعمد فيه عدم الاختصار)
    ويعالج عدم التكرار للأرقام
    [html]function test (tap,a)
    for k = 1,4 do
    if a == tap[k] then
    return true
    end;end
    return false
    end
    ------------------------------------
    repeat
    nb_table= {0,0,0,0};
    p=0;number =0
    n=1000;
    for j=1,4 do
    v =Math.Random(0, 9);
    while (test(nb_table,v)==true) do
    v = Math.Random(0,9);
    end
    Table.Insert(nb_table, j, v);
    number =number+nb_table[j]*n
    n=n/10
    end
    p =Math.Random(2, 9);
    while (test(nb_table,p)==true) do
    p = Math.Random(2,9);
    end
    tamer = number*p
    until tonumber(String.Length(tamer))==5 and tonumber(String.Mid(tamer, 1, 1))==nb_table[4] and
    tonumber(String.Mid(tamer, 2, 1))==nb_table[2] and tonumber(String.Mid(tamer, 3, 1))==nb_table[3]
    and tonumber(String.Mid(tamer, 4, 1))==p and tonumber(String.Mid(tamer, 5, 1))==nb_table[1]
    -----------------------------------------------------------------------------------------------

    Dialog.Message("Notice", number..'*'..p..'='..tamer);
    [/html]

    موفق

    وطبعا بعد ماثبت انه لا يوجد الا حل وحيد يمكن اختصار الكود الى :
    [html]repeat
    nb_table= {0,0,0,0};
    p=0;number =0;n=1000
    for j=1,4 do
    v =Math.Random(0, 9);
    Table.Insert(nb_table, j, v);
    number =number+nb_table[j]*n
    n=n/10
    end
    p =Math.Random(2, 9);
    tamer = number*p
    until tonumber(String.Length(tamer))==5 and tonumber(String.Mid(tamer, 1, 1))==nb_table[4] and
    tonumber(String.Mid(tamer, 2, 1))==nb_table[2] and tonumber(String.Mid(tamer, 3, 1))==nb_table[3]
    and tonumber(String.Mid(tamer, 4, 1))==p and tonumber(String.Mid(tamer, 5, 1))==nb_table[1]
    Dialog.Message("Notice", number..'*'..p..'='..tamer);
    [/html]

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

    تعليق


    • #17
      المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
      بسم الله الرحمن الرحيم

      تفضل أخي الجواب (متعمد فيه عدم الاختصار)
      ويعالج عدم التكرار للأرقام
      [html]function test (tap,a)
      for k = 1,4 do
      if a == tap[k] then
      return true
      end;end
      return false
      end
      ------------------------------------
      repeat
      nb_table= {0,0,0,0};
      p=0;number =0
      n=1000;
      for j=1,4 do
      v =math.random(0, 9);
      while (test(nb_table,v)==true) do
      v = math.random(0,9);
      end
      table.insert(nb_table, j, v);
      number =number+nb_table[j]*n
      n=n/10
      end
      p =math.random(2, 9);
      while (test(nb_table,p)==true) do
      p = math.random(2,9);
      end
      tamer = number*p
      until tonumber(string.length(tamer))==5 and tonumber(string.mid(tamer, 1, 1))==nb_table[4] and
      tonumber(string.mid(tamer, 2, 1))==nb_table[2] and tonumber(string.mid(tamer, 3, 1))==nb_table[3]
      and tonumber(string.mid(tamer, 4, 1))==p and tonumber(string.mid(tamer, 5, 1))==nb_table[1]
      -----------------------------------------------------------------------------------------------

      dialog.message("notice", number..'*'..p..'='..tamer);
      [/html]

      موفق

      وطبعا بعد ماثبت انه لا يوجد الا حل وحيد يمكن اختصار الكود الى :
      [html]repeat
      nb_table= {0,0,0,0};
      p=0;number =0;n=1000
      for j=1,4 do
      v =math.random(0, 9);
      table.insert(nb_table, j, v);
      number =number+nb_table[j]*n
      n=n/10
      end
      p =math.random(2, 9);
      tamer = number*p
      until tonumber(string.length(tamer))==5 and tonumber(string.mid(tamer, 1, 1))==nb_table[4] and
      tonumber(string.mid(tamer, 2, 1))==nb_table[2] and tonumber(string.mid(tamer, 3, 1))==nb_table[3]
      and tonumber(string.mid(tamer, 4, 1))==p and tonumber(string.mid(tamer, 5, 1))==nb_table[1]
      dialog.message("notice", number..'*'..p..'='..tamer);
      [/html]

      لكن يبقى الغير مختصر هو الصحيح لمعالجة حالات مماثلة ذات الحلول المختلفة
      ما شاء الله ...دائما افكار جديدة ..انا مع تفكيك الغازها و فهمها
      ساحاول تطبيقها على صور اخرى مماثلة
      شكرا جزيلا

      تعليق


      • #18
        المشاركة الأصلية بواسطة عبد الهادي بهاب مشاهدة المشاركة
        ما شاء الله ...دائما افكار جديدة ..انا مع تفكيك الغازها و فهمها
        ساحاول تطبيقها على صور اخرى مماثلة
        شكرا جزيلا
        موفق
        نلتقي في مزيد من الأسئلة الجميلة أجدت

        تعليق

        مواضيع تهمك

        تقليص

        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
        المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
        المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
        يعمل...
        X