خوارزمية البحث عن جميع قواسم العدد
📁 وظيفة, قائمة, بايثون, مثال
يوم! عند العمل على الشبكة، خوارزمية لإيجاد جميع قواسم العدد. يعني، للعدد ثمانية يجب إخراج [1,2,4,8] وليس [2,2,2] - قائمة القواسم. أعدت كتابة هذه الخوارزمية من جديد، أطلب من 'الرفاق الكبار' 'أن يقولوا كيف يمكن تحسينها. إذا كان هناك وقت))
def divisors(n): from collections import Counter ls = get_ls(n) # for n = 1568 -> ls = [2, 2, 2, 2, 2, 7, 7] pairs = dict(Counter(ls)) # {2: 5, 7: 2} from itertools import product, starmap from operator import mul from functools import reduce # list