26-05-13, 03:24 PM
السلام عليكم ورحمة الله بركاته
أخي الكريم
لدينا 14 حرفا
تريد ترتيبهم بجميع الاحتمالات الممكنة مع عدم تكرار الحرف المستعمل مرة أخرى
بمعنى حرف "ا" استعملناه في بداية الكلمة فبالتالي لن يكرر استعماله
هذا يعني أن في الموضع الأول لدينا 14 احتمال وفي الموضع الثاني لدينا 13 احتمال وفي الثالث لدينا 12 وفي الرابع لدينا 11 ..... وفي الثالث عشر لدينا احتمالان اثنان وفي الرابع عشر لدينا احتمال واحد فقط
وإذا أردنا حساب الاحتمالات فقم بضرب (14×13×12×11×10×9×8×7×6×5×4×3×2×1)
أي ما يسمى بالمضروب أو العاملي للرقم 14
وستكون النتيجة (87178291200) احتمال
بصراحة أنا قمت بكتابة الكود لكني لم أنتظر حتى ينتهي من تنفيذ كامل العملية
وهذا هو الكود
لكني قمت بعمل حساب تقريبي للوقت المستغرق فوجدت أن البرنامج يعطيك تقريبا 3000 نتيجة في الثانية فإذن سينتهي البرنامج من إعطاء جميع الاحتمالات بعد سنة كاملة تقريبا إن شاء الله
بالتوفيق
أخي الكريم
لدينا 14 حرفا
تريد ترتيبهم بجميع الاحتمالات الممكنة مع عدم تكرار الحرف المستعمل مرة أخرى
بمعنى حرف "ا" استعملناه في بداية الكلمة فبالتالي لن يكرر استعماله
هذا يعني أن في الموضع الأول لدينا 14 احتمال وفي الموضع الثاني لدينا 13 احتمال وفي الثالث لدينا 12 وفي الرابع لدينا 11 ..... وفي الثالث عشر لدينا احتمالان اثنان وفي الرابع عشر لدينا احتمال واحد فقط
وإذا أردنا حساب الاحتمالات فقم بضرب (14×13×12×11×10×9×8×7×6×5×4×3×2×1)
أي ما يسمى بالمضروب أو العاملي للرقم 14
وستكون النتيجة (87178291200) احتمال
بصراحة أنا قمت بكتابة الكود لكني لم أنتظر حتى ينتهي من تنفيذ كامل العملية
وهذا هو الكود
PHP كود :
Public Class Form1
Dim Letters As Char() = {"ا", "ح", "ر", "س", "ص", "ط", "ع", "ق", "ك", "ل", "م", "ن", "ه", "ي"}
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e_ As System.EventArgs) Handles Button1.Click
Dim Result = From A In Letters
From B In Letters.Except({A})
From C In Letters.Except({A, B})
From D In Letters.Except({A, B, C})
From E In Letters.Except({A, B, C, D})
From F In Letters.Except({A, B, C, D, E})
From G In Letters.Except({A, B, C, D, E, F})
From H In Letters.Except({A, B, C, D, E, F, G})
From I In Letters.Except({A, B, C, D, E, F, G, H})
From J In Letters.Except({A, B, C, D, E, F, G, H, I})
From K In Letters.Except({A, B, C, D, E, F, G, H, I, J})
From L In Letters.Except({A, B, C, D, E, F, G, H, I, J, K})
From M In Letters.Except({A, B, C, D, E, F, G, H, I, J, K, L})
From N In Letters.Except({A, B, C, D, E, F, G, H, I, J, K, L, M})
Select A & B & C & D & E & F & G & H & I & J & K & L & M & N
For Each Item In Result
ListBox1.Items.Add(Item)
Application.DoEvents()
Next
MsgBox("Finished" & vbNewLine & "Result = " & ListBox1.Items.Count)
End Sub
End Class
لكني قمت بعمل حساب تقريبي للوقت المستغرق فوجدت أن البرنامج يعطيك تقريبا 3000 نتيجة في الثانية فإذن سينتهي البرنامج من إعطاء جميع الاحتمالات بعد سنة كاملة تقريبا إن شاء الله
بالتوفيق

