zoukankan      html  css  js  c++  java
  • pre_exam exercise 3

    >>> single_factors(2)

    2

    >>> single_factors(4096)   # 4096 == 2**12

    2

    >>> single_factors(85)   # 85 == 5 * 17

    85

    >>> single_factors(10440125)   # 10440125 == 5**3 * 17**4

    85

    >>> single_factors(154)   # 154 == 2 * 7 * 11

    154

    >>> single_factors(52399401037149926144)   # 52399401037149926144 == 2**8 * 7**2 * 11**15

    154

    def single_factors(number):
        dic_number={}
        for i in range(2,number+1): #这里一定是加1,不然当factor为质数时返回的结果只有1
            while number%i==0:
                dic_number[i]=dic_number.get(i,0)+1
                number=number//i  #采用//可以极大的节约等待时间,因为操作对象是证书而不再是浮点数
            if number==1:
                break
        final=1
        for m in dic_number.keys():
            final=final*m
        return final
    
    a=single_factors(52399401037149926144)
    print(a)
  • 相关阅读:
    (转)详谈高端内存和低端内存
    高级声明------定义一个函数指针数组指针
    A Bug's Life POJ
    How Many Answers Are Wrong HDU
    A
    B
    数据处理----离散化
    Serval and Parenthesis Sequence CodeForces
    D
    C
  • 原文地址:https://www.cnblogs.com/eleni/p/11314459.html
Copyright © 2011-2022 走看看