Advertisement
Guest User

Untitled

a guest
Oct 19th, 2017
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. #include <stdio.h> /* printf */
  2.  
  3. #define FALSE 0
  4. #define TRUE 1
  5.  
  6. /**************************************************************************
  7. Function: is_prime
  8.  
  9. Description: Takes a number from user/file and checks if it is prime.
  10.  
  11. Inputs: number - A number (integer) to be used in prime check
  12. process.
  13.  
  14. Outputs: Value of either TRUE (integer) or FALSE (integer)
  15. depending on if the given number is prime or not.
  16. **************************************************************************/
  17. int is_prime(int number)
  18. {
  19. int i; /*looping variable */
  20. /*holds perceived true or false value (prime or not)*/
  21. int primeCheck = 0;
  22.  
  23. /*checks if number is prime*/
  24. for(i = 2; i <= (number / 2); ++i)
  25. {
  26. if(number % i == 0)
  27. {
  28. primeCheck = 1;
  29. break;
  30. }
  31. }
  32.  
  33. /*assigns appropriate value to check*/
  34. if (primeCheck == 0 && number != 1)
  35. {
  36. return TRUE;
  37. }
  38. else
  39. {
  40. return FALSE;
  41. }
  42. }
  43.  
  44. /**************************************************************************
  45. Function: conjecture
  46.  
  47. Description: Takes 2 numbers that act as a range from user/file and prints
  48. valid values that match the standard of Goldbach conjecture.
  49.  
  50. Inputs: low - A number (integer) to be used as lower end of range.
  51. high - A number (integer) to be used as higher end of range.
  52.  
  53. Outputs: Prints the valid values of Goldback conjecture.
  54. **************************************************************************/
  55. void conjecture(int low, int high)
  56. {
  57. int i; /*looping variable */
  58. int prime1; /*holds potential/final first prime(s) */
  59. int prime2; /*holds potential/final second prime(s)*/
  60.  
  61. for(i = low; i <= high; i++)
  62. {
  63. if(i % 2 != 1)
  64. {
  65. /*loops through potential first primes*/
  66. for(prime1 = 2; prime1 < i; ++prime1)
  67. {
  68. /*holds 1 or 0 depending on if desired values are found*/
  69. int found = 0;
  70.  
  71. /*breaks if desires values are found*/
  72. if(found)
  73. {
  74. found = 0;
  75. break;
  76. }
  77. /*loops through potential second primes*/
  78. for(prime2 = 1; prime2 < i; ++prime2)
  79. {
  80. /*holds perceived true or false value (prime or not)*/
  81. int primeCheck1;
  82. /*holds perceived true or false value (prime or not)*/
  83. int primeCheck2;
  84.  
  85. /*check if potential primes are prime*/
  86. primeCheck1 = is_prime(prime1);
  87. primeCheck2 = is_prime(prime2);
  88.  
  89. if(primeCheck1 && primeCheck2)
  90. {
  91. /*Makes sure values fit standard before printing*/
  92. if((prime1 <= prime2) && (prime1 + prime2 == i))
  93. {
  94. printf("%3i = %3i + %3i\n", i, prime1, prime2);
  95. found = 1;
  96. break;
  97. }
  98.  
  99. }
  100. }
  101. }
  102. }
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement