Cody

Problem 44450. Create a magic square matrix for a given odd integer

Solution 3477124

Submitted on 30 Oct 2020 at 10:47 by Payam Morsali
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
n = 3; y_correct = [15 15 15 15]; %row sum, col sum, main diag sum, other diag sum [a b c d] = MagicSquare(n); assert(isequal([a b c d],y_correct))

n = 8 1 6 3 5 7 4 9 2 a = 15 row1Sum = 15 col1Sum = 15 diag1Sum = 15 adiagSum = 15

2   Pass
n = 5; y_correct = [65 65 65 65]; %row sum, col sum, main diag sum, other diag sum [a b c d] = MagicSquare(n); assert(isequal([a b c d],y_correct))

n = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 a = 65 row1Sum = 65 col1Sum = 65 diag1Sum = 65 adiagSum = 65

3   Pass
n = 9; y_correct = [369 369 369 369]; %row sum, col sum, main diag sum, other diag sum [a b c d] = MagicSquare(n); assert(isequal([a b c d],y_correct))

n = 47 58 69 80 1 12 23 34 45 57 68 79 9 11 22 33 44 46 67 78 8 10 21 32 43 54 56 77 7 18 20 31 42 53 55 66 6 17 19 30 41 52 63 65 76 16 27 29 40 51 62 64 75 5 26 28 39 50 61 72 74 4 15 36 38 49 60 71 73 3 14 25 37 48 59 70 81 2 13 24 35 a = 369 row1Sum = 369 col1Sum = 369 diag1Sum = 369 adiagSum = 369

4   Pass
n = 15; y_correct = [1695 1695 1695 1695]; %row sum, col sum, main diag sum, other diag sum [a b c d] = MagicSquare(n); assert(isequal([a b c d],y_correct))

n = 122 139 156 173 190 207 224 1 18 35 52 69 86 103 120 138 155 172 189 206 223 15 17 34 51 68 85 102 119 121 154 171 188 205 222 14 16 33 50 67 84 101 118 135 137 170 187 204 221 13 30 32 49 66 83 100 117 134 136 153 186 203 220 12 29 31 48 65 82 99 116 133 150 152 169 202 219 11 28 45 47 64 81 98 115 132 149 151 168 185 218 10 27 44 46 63 80 97 114 131 148 165 167 184 201 9 26 43 60 62 79 96 113 130 147 164 166 183 200 217 25 42 59 61 78 95 112 129 146 163 180 182 199 216 8 41 58 75 77 94 111 128 145 162 179 181 198 215 7 24 57 74 76 93 110 127 144 161 178 195 197 214 6 23 40 73 90 92 109 126 143 160 177 194 196 213 5 22 39 56 89 91 108 125 142 159 176 193 210 212 4 21 38 55 72 105 107 124 141 158 175 192 209 211 3 20 37 54 71 88 106 123 140 157 174 191 208 225 2 19 36 53 70 87 104 a = 1695 row1Sum = 1695 col1Sum = 1695 diag1Sum = 1695 adiagSum = 1695

Suggested Problems

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!