# include # include # include "is_prime.h" /******************************************************************************/ bool is_prime1 ( int n ) /******************************************************************************/ /* Purpose: is_prime1() 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; } for ( i = 2; i < n; i = i + 1 ) { if ( n % i == 0 ) { return false; } } return true; } /******************************************************************************/ bool is_prime2 ( int n ) /******************************************************************************/ /* Purpose: is_prime2() 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; } for ( i = 2; i * i <= n; i = i + 1 ) { if ( n % i == 0 ) { return false; } } return true; } /******************************************************************************/ 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; }