fork(1) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n;
  8. cin >> n;
  9. int i = 1;
  10. int j = n - 1;
  11. int k = 0;
  12. int a = 0;
  13. int array[n][n];
  14. while (i <= n*n)
  15. {
  16. array[k][k] = i;
  17. i++;
  18. array[k][n-k -1] = i;
  19. i++;
  20. array[n-k-1][n-k - 1 ] = i;
  21. i++;
  22. array[n-k-1][k] = i;
  23. i++;
  24. if (i > n*n)
  25. break;
  26. while (a < j - 1)
  27. {
  28. array[k][k + a + 1] = array[k][k + a] + 4;
  29. a++;
  30. i++;
  31. }
  32. a = 0;
  33. while (a < j - 1)
  34. {
  35. array[k + a + 1][n-k-1] = array[k + a][n - k - 1] + 4;
  36. a++;
  37. i++;
  38. }
  39. a = 0;
  40. while (a < j - 1)
  41. {
  42. array[n - k - 1][n - k - a - 2] = array[n - k - 1][n - k - a - 1] + 4;
  43. a++;
  44. i++;
  45. }
  46. a = 0;
  47. while (a < j - 1)
  48. {
  49. array[n-k-a-2][k] = array[n-k-a-1][k] + 4;
  50. a++;
  51. i++;
  52. }
  53. a = 0;
  54. k++;
  55. j--;
  56. }
  57. k = 0;
  58. j = 0;
  59. while(k < n)
  60. {
  61. while(j < n)
  62. {
  63. cout << array[k][j] << " ";
  64. j++;
  65. }
  66. k ++;
  67. j = 0;
  68. cout << endl;
  69. }
  70. return 0;
  71. }
  72.  
Runtime error #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
Standard output is empty