fork download
  1. /*
  2.  *
  3.  * Author : Adrian Statescu <mergesortv@gmail.com>
  4.  * Description: Conjectura lui Goldbach
  5.  *
  6.  */
  7.  
  8. #include <stdio.h>
  9. #include <math.h>
  10. #define SIZE 100
  11.  
  12. int IsPrime(int n) {
  13.  
  14. int i;
  15.  
  16. if( n == 1 || n == 0) return 0;
  17.  
  18. for(i = 2; i <= sqrt( n ); ++i)
  19.  
  20. if(n % i == 0)
  21.  
  22. return 0;
  23.  
  24. return 1;
  25. }
  26.  
  27. int main(int argc, char **argv) {
  28.  
  29. int i, j, m, n, k;
  30.  
  31. int mat[SIZE][SIZE];
  32.  
  33. printf("%s\n","Matrix(m,n) -->>");
  34.  
  35. scanf("%d %d", &m, &n);
  36.  
  37. for(i = 0; i < m; ++i) {
  38.  
  39. for(j = 0; j < n; ++j) {
  40.  
  41. printf("mat[%d][%d] = ", i, j);
  42.  
  43. scanf("%d", &mat[i][j]);
  44. }
  45. }
  46.  
  47. printf("Matrix -> \n");
  48.  
  49. for(i = 0; i < m; ++i) {
  50.  
  51. printf("\n");
  52.  
  53. for(j = 0; j < n; ++j) {
  54.  
  55. printf("%d ", mat[i][j]);
  56. }
  57. }
  58.  
  59. printf("\n");
  60.  
  61. for(i = 0; i < m; ++i) {
  62.  
  63. for(j = 0; j < n; j++) {
  64.  
  65. if(mat[i][j] % 2 == 0) {
  66.  
  67. printf("mat[%d][%d] = %d\n", i + 1, j + 1, mat[i][j]);
  68.  
  69. for(k = 2; k <= mat[i][j]/2; ++k) {
  70.  
  71. if(IsPrime(k) && IsPrime(mat[i][j] - k))
  72.  
  73. printf("%d = %d + %d\n",mat[i][j], k, mat[i][j] - k);
  74. }
  75. }
  76. }
  77. }
  78.  
  79. return(0);
  80. }
Success #stdin #stdout 0s 4492KB
stdin
3 3
10 11 14
20 22 23
32 70 30
stdout
Matrix(m,n) -->>
mat[0][0] = mat[0][1] = mat[0][2] = mat[1][0] = mat[1][1] = mat[1][2] = mat[2][0] = mat[2][1] = mat[2][2] = Matrix -> 

10 11 14 
20 22 23 
32 70 30 
mat[1][1] = 10
10 = 3 + 7
10 = 5 + 5
mat[1][3] = 14
14 = 3 + 11
14 = 7 + 7
mat[2][1] = 20
20 = 3 + 17
20 = 7 + 13
mat[2][2] = 22
22 = 3 + 19
22 = 5 + 17
22 = 11 + 11
mat[3][1] = 32
32 = 3 + 29
32 = 13 + 19
mat[3][2] = 70
70 = 3 + 67
70 = 11 + 59
70 = 17 + 53
70 = 23 + 47
70 = 29 + 41
mat[3][3] = 30
30 = 7 + 23
30 = 11 + 19
30 = 13 + 17