0% found this document useful (0 votes)
11 views

count_prime_cpp

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

count_prime_cpp

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

#include <iostream>

class Solution {

public:

int countPrimes(int n) {

int count = 0;

if (n <= 2) return 0;

vector<bool> isPrime(n, true);

isPrime[0] = isPrime[1] = false;

for(int i = 2; i*i < n; i++){

if(isPrime[i]){

for(int j = i*i; j < n; j += i)

isPrime[j] = false;

for(int i = 2; i< n; i++){

if(isPrime[i])

count++;

return count;

};

void test_countPrimes() {
Solution sol;

// Test case 1: n = 0

if (sol.countPrimes(0) == 0) {

std::cout << "Test case 1 passed.\n";

} else {

std::cout << "Test case 1 failed.\n";

// Test case 2: n = 1

if (sol.countPrimes(1) == 0) {

std::cout << "Test case 2 passed.\n";

} else {

std::cout << "Test case 2 failed.\n";

// Test case 3: n = 2

if (sol.countPrimes(2) == 0) {

std::cout << "Test case 3 passed.\n";

} else {

std::cout << "Test case 3 failed.\n";

// Test case 4: n = 10 (Primes: 2, 3, 5, 7)

if (sol.countPrimes(10) == 4) {

std::cout << "Test case 4 passed.\n";

} else {

std::cout << "Test case 4 failed.\n";

}
// Test case 5: n = 100 (Primes: 25 primes below 100)

if (sol.countPrimes(100) == 25) {

std::cout << "Test case 5 passed.\n";

} else {

std::cout << "Test case 5 failed.\n";

// Test case 6: n = 5000

if (sol.countPrimes(5000) == 669) {

std::cout << "Test case 6 passed.\n";

} else {

std::cout << "Test case 6 failed.\n";

int main() {

test_countPrimes();

std::cout << "Testing complete.\n";

return 0;

You might also like