How to create the most compact mapping n → isprime(n) up to a limit N?

后端 未结 30 3261
遇见更好的自我
遇见更好的自我 2020-11-22 02:11

Naturally, for bool isprime(number) there would be a data structure I could query.
I define the best algorithm, to be the algorithm that pr

30条回答
  •  不知归路
    2020-11-22 02:41

    I think one of the fastest is my method that I made.

    void prime(long long int number) {
        // Establishing Variables
        long long int i = 5;
        int w = 2;
        const long long int lim = sqrt(number);
    
        // Gets 2 and 3 out of the way
        if (number == 1) { cout << number << " is hard to classify. \n";  return; }
        if (number == 2) { cout << number << " is Prime. \n";  return; }
        if (number == 3) { cout << number << " is Prime. \n";  return; }
    
        // Tests Odd Ball Factors
        if (number % 2 == 0) { cout << number << " is not Prime. \n";  return; }
        if (number % 3 == 0) { cout << number << " is not Prime. \n";  return; }
    
        while (i <= lim) {
            if (number % i == 0) { cout << number << " is not Prime. \n";  return; }
            // Tests Number
            i = i + w; // Increments number
            w = 6 - i; // We already tested 2 and 3
            // So this removes testing multepules of this
        }
        cout << number << " is Prime. \n"; return;
    }
    

提交回复
热议问题