Cody

# Problem 1087. Magic is simple (for beginners)

Solution 385750

Submitted on 14 Jan 2014 by priyanka shrivastava
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; assert(isequal(magic_sum(n),y_correct))

a = 8 1 6 3 5 7 4 9 2 m = 15

2   Pass
%% n = 5; y_correct = 65; assert(isequal(magic_sum(n),y_correct))

a = 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 m = 65

3   Pass
%% n = 7; y_correct = 175; assert(isequal(magic_sum(n),y_correct))

a = 30 39 48 1 10 19 28 38 47 7 9 18 27 29 46 6 8 17 26 35 37 5 14 16 25 34 36 45 13 15 24 33 42 44 4 21 23 32 41 43 3 12 22 31 40 49 2 11 20 m = 175

4   Pass
%% n = 8; y_correct = 260; assert(isequal(magic_sum(n),y_correct))

a = 64 2 3 61 60 6 7 57 9 55 54 12 13 51 50 16 17 47 46 20 21 43 42 24 40 26 27 37 36 30 31 33 32 34 35 29 28 38 39 25 41 23 22 44 45 19 18 48 49 15 14 52 53 11 10 56 8 58 59 5 4 62 63 1 m = 260

5   Pass
%% n = 20; y_correct = 4010; assert(isequal(magic_sum(n),y_correct))

a = Columns 1 through 16 400 2 3 397 396 6 7 393 392 10 11 389 388 14 15 385 21 379 378 24 25 375 374 28 29 371 370 32 33 367 366 36 41 359 358 44 45 355 354 48 49 351 350 52 53 347 346 56 340 62 63 337 336 66 67 333 332 70 71 329 328 74 75 325 320 82 83 317 316 86 87 313 312 90 91 309 308 94 95 305 101 299 298 104 105 295 294 108 109 291 290 112 113 287 286 116 121 279 278 124 125 275 274 128 129 271 270 132 133 267 266 136 260 142 143 257 256 146 147 253 252 150 151 249 248 154 155 245 240 162 163 237 236 166 167 233 232 170 171 229 228 174 175 225 181 219 218 184 185 215 214 188 189 211 210 192 193 207 206 196 201 199 198 204 205 195 194 208 209 191 190 212 213 187 186 216 180 222 223 177 176 226 227 173 172 230 231 169 168 234 235 165 160 242 243 157 156 246 247 153 152 250 251 149 148 254 255 145 261 139 138 264 265 135 134 268 269 131 130 272 273 127 126 276 281 119 118 284 285 115 114 288 289 111 110 292 293 107 106 296 100 302 303 97 96 306 307 93 92 310 311 89 88 314 315 85 80 322 323 77 76 326 327 73 72 330 331 69 68 334 335 65 341 59 58 344 345 55 54 348 349 51 50 352 353 47 46 356 361 39 38 364 365 35 34 368 369 31 30 372 373 27 26 376 20 382 383 17 16 386 387 13 12 390 391 9 8 394 395 5 Columns 17 through 20 384 18 19 381 37 363 362 40 57 343 342 60 324 78 79 321 304 98 99 301 117 283 282 120 137 263 262 140 244 158 159 241 224 178 179 221 197 203 202 200 217 183 182 220 164 238 239 161 144 258 259 141 277 123 122 280 297 103 102 300 84 318 319 81 64 338 339 61 357 43 42 360 377 23 22 380 4 398 399 1 m = 4010

6   Pass
%% n = 100; y_correct = 500050; assert(isequal(magic_sum(n),y_correct))

a = Columns 1 through 8 10000 2 3 9997 9996 6 7 9993 101 9899 9898 104 105 9895 9894 108 201 9799 9798 204 205 9795 9794 208 9700 302 303 9697 9696 306 307 9693 9600 402 403 9597 9596 406 407 9593 501 9499 9498 504 505 9495 9494 508 601 9399 9398 604 605 9395 9394 608 9300 702 703 9297 9296 706 707 9293 9200 802 803 9197 9196 806 807 9193 901 9099 9098 904 905 9095 9094 908 1001 8999 8998 1004 1005 8995 8994 1008 8900 1102 1103 8897 8896 1106 1107 8893 8800 1202 1203 8797 8796 1206 1207 8793 1301 8699 8698 1304 1305 8695 8694 1308 1401 8599 8598 1404 1405 8595 8594 1408 8500 1502 1503 8497 8496 1506 1507 8493 8400 1602 1603 8397 8396 1606 1607 8393 1701 8299 8298 1704 1705 8295 8294 1708 1801 8199 8198 1804 1805 8195 8194 1808 8100 1902 1903 8097 8096 1906 1907 8093 8000 2002 2003 7997 7996 2006 2007 7993 2101 7899 7898 2104 2105 7895 7894 2108 2201 7799 7798 2204 2205 7795 7794 2208 7700 2302 2303 7697 7696 2306 2307 7693 7600 2402 2403 7597 7596 2406 2407 7593 2501 7499 7498 2504 2505 7495 7494 2508 2601 7399 7398 2604 2605 7395 7394 2608 7300 2702 2703 7297 7296 2706 2707 7293 7200 2802 2803 7197 7196 2806 2807 7193 2901 7099 7098 2904 2905 7095 7094 2908 3001 6999 6998 3004 3005 6995 6994 3008 6900 3102 3103 6897 6896 3106 3107 6893 6800 3202 3203 6797 6796 3206 3207 6793 3301 6699 6698 3304 3305 6695 6694 3308 3401 6599 6598 3404 3405 6595 6594 3408 6500 3502 3503 6497 6496 3506 3507 6493 6400 3602 3603 6397 6396 3606 3607 6393 3701 6299 6298 3704 3705 6295 6294 3708 3801 6199 6198 3804 3805 6195 6194 3808 6100 3902 3903 6097 6096 3906 3907 6093 6000 4002 4003 5997 5996 4006 4007 5993 4101 5899 5898 4104 4105 5895 5894 4108 4201 5799 5798 4204 4205 5795 5794 4208 5700 4302 4303 5697 5696 4306 4307 5693 5600 4402 4403 5597 5596 4406 4407 5593 4501 5499 5498 4504 4505 5495 5494 4508 4601 5399 5398 4604 4605 5395 5394 4608 5300 4702 4703 5297 5296 4706 4707 5293 5200 4802 4803 5197 5196 4806 4807 5193 4901 5099 5098 4904 4905 5095 5094 4908 5001 4999 4998 5004 5005 4995 4994 5008 4900 5102 5103 4897 4896 5106 5107 4893 4800 5202 5203 4797 4796 5206 5207 4793 5301 4699 4698 5304 5305 4695 4694 5308 5401 4599 4598 5404 5405 4595 4594 5408 4500 5502 5503 4497 4496 5506 5507 4493 4400 5602 5603 4397 4396 5606 5607 4393 5701 4299 4298 5704 5705 4295 4294 5708 5801 4199 4198 5804 5805 4195 4194 5808 4100 5902 5903 4097 4096 5906 5907 4093 4000 6002 6003 3997 3996 6006 6007 3993 6101 3899 3898 6104 6105 3895 3894 6108 6201 3799 3798 6204 6205 3795 3794 6208 3700 6302 6303 3697 3696 6306 6307 3693 3600 6402 6403 3597 3596 6406 6407 3593 6501 3499 3498 6504 6505 3495 3494 6508 6601 3399 3398 6604 6605 3395 3394 6608 3300 6702 6703 3297 3296 6706 6707 3293 3200 6802 6803 3197 3196 6806 6807 3193 6901 3099 3098 6904 6905 3095 3094 6908 7001 2999 2998 7004 7005 2995 2994 7008 2900 7102 7103 2897 2896 7106 7107 2893 2800 7202 7203 2797 2796 7206 7207 2793 7301 2699 2698 7304 7305 2695 2694 7308 7401 2599 2598 7404 7405 2595 2594 7408 2500 7502 7503 2497 2496 7506 7507 2493 2400 7602 7603 2397 2396 7606 7607 2393 7701 2299 2298 7704 7705 2295 2294 7708 7801 2199 2198 7804 7805 2195 2194 7808 2100 7902 7903 2097 2096 7906 7907 2093 2000 8002 8003 1997 1996 8006 8007 1993 8101 1899 1898 8104 8105 1895 1894 8108 8201 1799 1798 8204 8205 1795 1794 8208 1700 8302 8303 1697 1696 8306 8307 1693 1600 8402 8403 1597 1596 8406 8407 1593 8501 1499 1498 8504 8505 1495 1494 8508 8601 1399 1398 8604 8605 1395 1394 8608 1300 8702 8703 1297 1296 8706 8707 1293 1200 8802 8803 1197 1196 8806 8807 1193 8901 1099 1098 8904 8905 1095 1094 8908 9001 999 998 9004 9005 995 994 9008 900 9102 9103 897 896 9106 9107 893 800 9202 9203 797 796 9206 9207 793 9301 699 698 9304 9305 695 694 9308 9401 599 598 9404 9405 595 594 9408 500 9502 9503 497 496 9506 9507 493 400 9602 9603 397 396 9606 9607 393 9701 299 298 9704 9705 295 294 9708 9801 199 198 9804 9805 195 194 9808 100 9902 9903 97 96 9906 9907 93 Columns 9 through 16 9992 10 11 9989 9988 14 15 9985 109 9891 9890 112 113 9887 9886 116 209 9791 9790 212 ...

7   Pass
%% n = 200; y_correct = 4000100; assert(isequal(magic_sum(n),y_correct))

a = Columns 1 through 8 40000 2 3 39997 39996 6 7 39993 201 39799 39798 204 205 39795 39794 208 401 39599 39598 404 405 39595 39594 408 39400 602 603 39397 39396 606 607 39393 39200 802 803 39197 39196 806 807 39193 1001 38999 38998 1004 1005 38995 38994 1008 1201 38799 38798 1204 1205 38795 38794 1208 38600 1402 1403 38597 38596 1406 1407 38593 38400 1602 1603 38397 38396 1606 1607 38393 1801 38199 38198 1804 1805 38195 38194 1808 2001 37999 37998 2004 2005 37995 37994 2008 37800 2202 2203 37797 37796 2206 2207 37793 37600 2402 2403 37597 37596 2406 2407 37593 2601 37399 37398 2604 2605 37395 37394 2608 2801 37199 37198 2804 2805 37195 37194 2808 37000 3002 3003 36997 36996 3006 3007 36993 36800 3202 3203 36797 36796 3206 3207 36793 3401 36599 36598 3404 3405 36595 36594 3408 3601 36399 36398 3604 3605 36395 36394 3608 36200 3802 3803 36197 36196 3806 3807 36193 36000 4002 4003 35997 35996 4006 4007 35993 4201 35799 35798 4204 4205 35795 35794 4208 4401 35599 35598 4404 4405 35595 35594 4408 35400 4602 4603 35397 35396 4606 4607 35393 35200 4802 4803 35197 35196 4806 4807 35193 5001 34999 34998 5004 5005 34995 34994 5008 5201 34799 34798 5204 5205 34795 34794 5208 34600 5402 5403 34597 34596 5406 5407 34593 34400 5602 5603 34397 34396 5606 5607 34393 5801 34199 34198 5804 5805 34195 34194 5808 6001 33999 33998 6004 6005 33995 33994 6008 33800 6202 6203 33797 33796 6206 6207 33793 33600 6402 6403 33597 33596 6406 6407 33593 6601 33399 33398 6604 6605 33395 33394 6608 6801 33199 33198 6804 6805 33195 33194 6808 33000 7002 7003 32997 32996 7006 7007 32993 32800 7202 7203 32797 32796 7206 7207 32793 7401 32599 32598 7404 7405 32595 32594 7408 7601 32399 32398 7604 7605 32395 32394 7608 32200 7802 7803 32197 32196 7806 7807 32193 32000 8002 8003 31997 31996 8006 8007 31993 8201 31799 31798 8204 8205 31795 31794 8208 8401 31599 31598 8404 8405 31595 31594 8408 31400 8602 8603 31397 31396 8606 8607 31393 31200 8802 8803 31197 31196 8806 8807 31193 9001 30999 30998 9004 9005 30995 30994 9008 9201 30799 30798 9204 9205 30795 30794 9208 30600 9402 9403 30597 30596 9406 9407 30593 30400 9602 9603 30397 30396 9606 9607 30393 9801 30199 30198 9804 9805 30195 30194 9808 10001 29999 29998 10004 10005 29995 29994 10008 29800 10202 10203 29797 29796 10206 10207 29793 29600 10402 10403 29597 29596 10406 10407 29593 10601 29399 29398 10604 10605 29395 29394 10608 10801 29199 29198 10804 10805 29195 29194 10808 29000 11002 11003 28997 28996 11006 11007 28993 28800 11202 11203 28797 28796 11206 11207 28793 11401 28599 28598 11404 11405 28595 28594 11408 11601 28399 28398 11604 11605 28395 28394 11608 28200 11802 11803 28197 28196 11806 11807 28193 28000 12002 12003 27997 27996 12006 12007 27993 12201 27799 27798 12204 12205 27795 27794 12208 12401 27599 27598 12404 12405 27595 27594 12408 27400 12602 12603 27397 27396 12606 12607 27393 27200 12802 12803 27197 27196 12806 12807 27193 13001 26999 26998 13004 13005 26995 26994 13008 13201 26799 26798 13204 13205 26795 26794 13208 26600 13402 13403 26597 26596 13406 13407 26593 26400 13602 13603 26397 26396 13606 13607 26393 13801 26199 26198 13804 13805 26195 26194 13808 14001 25999 25998 14004 14005 25995 25994 14008 25800 14202 14203 25797 25796 14206 14207 25793 25600 14402 14403 25597 25596 14406 14407 25593 14601 25399 25398 14604 14605 25395 25394 14608 14801 25199 25198 14804 14805 25195 25194 14808 25000 15002 15003 24997 24996 15006 15007 24993 24800 15202 15203 24797 24796 15206 15207 24793 15401 24599 24598 15404 15405 24595 24594 15408 15601 24399 24398 15604 15605 24395 24394 15608 24200 15802 15803 24197 24196 15806 15807 24193 24000 16002 16003 23997 23996 16006 16007 23993 16201 23799 23798 16204 16205 23795 23794 16208 16401 23599 23598 16404 16405 23595 23594 16408 23400 16602 16603 23397 23396 16606 16607 23393 23200 16802 16803 23197 23196 16806 16807 23193 17001 22999 22998 17004 17005 22995 22994 17008 17201 22799 22798 17204 17205 22795 22794 17208 22600 17402 17403 22597 22596 17406 17407 22593 22400 17602 17603 22397 22396 17606 17607 22393 17801 22199 22198 17804 17805 22195 22194 17808 18001 21999 21998 18004 18005 21995 21994 18008 21800 18202 18203 21797 21796 18206 18207 21793 21600 18402 18403 21597 21596 18406 18407 21593 18601 21399 21398 18604 18605 21395 21394 18608 18801 21199 21198 18804 18805 21195 21194 18808 21000 19002 19003 20997 20996 19006 19007 20993 20800 19202 19203 20797 20796 19206 19207 20793 19401 20599 20598 19404 19405 20595 20594 19408 19601 20399 20398 19604 19605 20395 20394 19608 20200 19802 19803 20197 20196 19806 19807 20193 20000 20002 20003 19997 19996 20006 20007 19993 20201 19799 19798 20204 20205 19795 19794 20208 20401 19599 19598 20404 20405 19595 ...

8   Fail
%% n = 1000; y_correct = 500000500; assert(isequal(magic_sum(n),y_correct))

a = Columns 1 through 8 1000000 2 3 999997 999996 6 7 999993 1001 998999 998998 1004 1005 998995 998994 1008 2001 997999 997998 2004 2005 997995 997994 2008 997000 3002 3003 996997 996996 3006 3007 996993 996000 4002 4003 995997 995996 4006 4007 995993 5001 994999 994998 5004 5005 994995 994994 5008 6001 993999 993998 6004 6005 993995 993994 6008 993000 7002 7003 992997 992996 7006 7007 992993 992000 8002 8003 991997 991996 8006 8007 991993 9001 990999 990998 9004 9005 990995 990994 9008 10001 989999 989998 10004 10005 989995 989994 10008 989000 11002 11003 988997 988996 11006 11007 988993 988000 12002 12003 987997 987996 12006 12007 987993 13001 986999 986998 13004 13005 986995 986994 13008 14001 985999 985998 14004 14005 985995 985994 14008 985000 15002 1