Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> /* printf */
- #define FALSE 0
- #define TRUE 1
- /**************************************************************************
- Function: is_prime
- Description: Takes a number from user/file and checks if it is prime.
- Inputs: number - A number (integer) to be used in prime check
- process.
- Outputs: Value of either TRUE (integer) or FALSE (integer)
- depending on if the given number is prime or not.
- **************************************************************************/
- int is_prime(int number)
- {
- int i; /*looping variable */
- /*holds perceived true or false value (prime or not)*/
- int primeCheck = 0;
- /*checks if number is prime*/
- for(i = 2; i <= (number / 2); ++i)
- {
- if(number % i == 0)
- {
- primeCheck = 1;
- break;
- }
- }
- /*assigns appropriate value to check*/
- if (primeCheck == 0 && number != 1)
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
- }
- /**************************************************************************
- Function: conjecture
- Description: Takes 2 numbers that act as a range from user/file and prints
- valid values that match the standard of Goldbach conjecture.
- Inputs: low - A number (integer) to be used as lower end of range.
- high - A number (integer) to be used as higher end of range.
- Outputs: Prints the valid values of Goldback conjecture.
- **************************************************************************/
- void conjecture(int low, int high)
- {
- int i; /*looping variable */
- int prime1; /*holds potential/final first prime(s) */
- int prime2; /*holds potential/final second prime(s)*/
- for(i = low; i <= high; i++)
- {
- if(i % 2 != 1)
- {
- /*loops through potential first primes*/
- for(prime1 = 2; prime1 < i; ++prime1)
- {
- /*holds 1 or 0 depending on if desired values are found*/
- int found = 0;
- /*breaks if desires values are found*/
- if(found)
- {
- found = 0;
- break;
- }
- /*loops through potential second primes*/
- for(prime2 = 1; prime2 < i; ++prime2)
- {
- /*holds perceived true or false value (prime or not)*/
- int primeCheck1;
- /*holds perceived true or false value (prime or not)*/
- int primeCheck2;
- /*check if potential primes are prime*/
- primeCheck1 = is_prime(prime1);
- primeCheck2 = is_prime(prime2);
- if(primeCheck1 && primeCheck2)
- {
- /*Makes sure values fit standard before printing*/
- if((prime1 <= prime2) && (prime1 + prime2 == i))
- {
- printf("%3i = %3i + %3i\n", i, prime1, prime2);
- found = 1;
- break;
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement