fork download
  1. #include<iostream>
  2. #include<cmath>
  3. using namespace std;
  4.  
  5. bool isprime(long int num)
  6. {
  7.  
  8. int count=0;
  9. bool x=false;
  10.  
  11. for(int i=2; i<sqrt(num); i++)
  12. {
  13.  
  14. if(num%i==0)
  15. {
  16. count++;
  17. break;
  18. }
  19. }
  20.  
  21. if(count==0)
  22. x=true;
  23.  
  24. return x;
  25.  
  26. }
  27.  
  28.  
  29. int main()
  30. { bool flag=false;
  31. int t,i=0,j=0,k=1,n,l=1,m;
  32. cin>>t;
  33. while(t--){
  34.  
  35. cin>>n;
  36. m=n;
  37. int X[n][n];
  38.  
  39. while(n>0)
  40. {
  41.  
  42. for(;j<n;j++)
  43. {
  44. X[i][j] =k;
  45. k++;
  46. }
  47. j--;
  48. n--;
  49. i++;
  50. for(;i<=n;i++)
  51. {
  52. X[i][j] =k;
  53. k++;
  54. }
  55. i--;
  56. j--;
  57. for(;j>=(l-1);j--)
  58. {
  59. X[i][j] =k;
  60. k++;
  61. }
  62. j++;
  63. n--;
  64. i--;
  65. for(;i>=l;i--)
  66. {
  67. X[i][j] =k;
  68. k++;
  69. }
  70. l++;
  71. j++;
  72. i++;
  73. n++;
  74.  
  75.  
  76.  
  77. }
  78. int sum=0;
  79. for(i=0;i<m;i++){
  80. for(j=0;j<n;j++){
  81. k=X[i][i];
  82. flag=isprime(k);
  83. if(flag==true){
  84. sum+=k;
  85. flag=false;
  86. }
  87. k=X[j-i][j-i];
  88. flag=isprime(k);
  89. if(flag==true){
  90. sum+=k;
  91. flag=false;
  92. }
  93. if(j==i){
  94. k=X[i][i];
  95. flag=isprime(k);
  96. if(flag==true){
  97. sum-=k;
  98. flag=false;
  99. }
  100. }
  101. }
  102.  
  103. }
  104.  
  105. cout<<sum;
  106. }
  107. return 0;
  108. }
Success #stdin #stdout 0s 3300KB
stdin
1
3
stdout
Standard output is empty