Given n and s, return a n-by-n matrix a of integers such that
sum(sum(a == rot90(a)))
is equal to exactly s. The integers should be chosen from the set 1 to n.
So for instance, if n is 2, and s is 2, you could return
a = [ 1 1 2 2 ]
since rot90(a) matches a in exactly one place.
For any n and s, a is of course not unique. I'm only checking to make sure the conditions are true.
In the problem description, you say "The integers should be chosen from the set 1 to n." However, in your example for a 2x2 matrix, you have a 3 as one of the terms. Am I missing something?
function a = match_rot(n)
The problem says given n and s.
However, only n is provided.
Are we allowed to set s?
s=feval(@evalin,'caller','s');
Lack of s input solved
Sorry guys. Sloppy problem creation on my part. Unfortunately my signature change will invalidate all the solutions up to this point, but yes it should be match_rot(n,s)
"since rot90(a) matches a in exactly _two_ places" for the example in the problem statement?
Just Tweaking...
Back to basics 6 - Column Vector
809 Solvers
Back to basics 22 - Rotate a matrix
682 Solvers
Flag largest magnitude swings as they occur
524 Solvers
Construct an index vector from two input vectors in vectorized fashion
124 Solvers
Composite Trapezoidal Rule for Numeric Integration
20 Solvers