# include # include # include "prime_pi.h" /******************************************************************************/ bool is_prime3 ( int n ) /******************************************************************************/ /* Purpose: is_prime3() reports whether an integer is prime. Licensing: This code is distributed under the MIT license. Modified: 28 December 2022 Author: John Burkardt Input: int n: the value to be tested. Output: bool value: true if n is a prime. */ { int i; if ( n <= 1 ) { return false; } if ( ( n == 2 ) || ( n == 3 ) ) { return true; } if ( ( n % 2 == 0 ) || ( n % 3 == 0 ) ) { return false; } for ( i = 5; i * i <= n; i = i + 6 ) { if ( ( n % i == 0 ) || ( n % ( i + 2 ) == 0 ) ) { return false; } } return true; } /******************************************************************************/ int prime_pi1 ( int n ) /******************************************************************************/ /* Purpose: prime_pi1() evaluates prime(n), the number of primes less than or equal to n. Licensing: This code is distributed under the MIT license. Modified: 31 December 2022 Author: John Burkardt Input: integer n: the value to be tested. Output: integer value: the value of pi(n). */ { int i; int value; value = 0; for ( i = 1; i <= n; i++ ) { if ( is_prime3 ( i ) ) { value = value + 1; } } return value; }