رئيس الحكومة المقسومات عدد في ML
-
22-08-2019 - |
سؤال
في ML أريد الحصول على رئيس الحكومة المقسومات عدد. كيف يمكنني أن أفعل هذا، وأنا مبتدئ.
المحلول
وعن طريق تقسيم محاكمة بسيط، وهذا يبدأ مع p=2
ويقسم مرارا وتكرارا من قبل n
p
، تزايد p
لأنه غني.
open LargeInt (* if you want to work with huge numbers like 5000000000 *)
infix 7 quot rem
val prime_factors =
let fun trial_division p n =
if p > n then nil else
if n rem p = 0
then p :: trial_division p (n quot p)
else trial_division (p + 1) n
in trial_division 2 end
نصائح أخرى
وهناك العديد من الخوارزميات العامة للعثور على رئيس الحكومة المقسومات عدد صحيح: انظر ويكيبيديا . الشعبة الابتدائية باستخدام اختبار بريماليتي بسيط هو أبسط لفهم.
والبحث أو ابتكار خوارزمية في شبة الكود. عندها فقط تقلق بشأن كيفية وضعه في ML.
لا تنتمي إلى StackOverflow