求最大prime

来源:互联网 发布:淘宝百度财富值 编辑:程序博客网 时间:2024/05/22 01:35

不知道这个的复杂度怎么分析。 不过worst case 应该是O(n),average 可能是O(sqrt(n))

int maxPrime(int n){    assert(n>=0);    if(n <= 3) return n;    int k = 1;    while(n > 1)    {        ++k;        if(k > n / k) return n;        while(n % k == 0)            n /= k;    }    return k;   }
这是婷婷的代码,其中  
if(k > n / k) return n;
很赞!用这句话来控制运算上限。 因为:经过运算的n肯定也是input的因子,并且一定大于k,不然早就被除掉了。








原创粉丝点击