A flag is to be made with six vertical stripes by using colours yellow, blue, green and red in such a way that no two adjacent stripes should have the same colour. In how many ways is this possible? How could I compute this with Mathematica?
Asked
Active
Viewed 543 times
2
-
Wrong site - you most likely want math.stackexchange.com. – Yves Klett Jun 21 '14 at 17:08
-
This question appears to be off-topic because it is about a homework question that has nothing to do with Mathematica. – bobthechemist Jun 21 '14 at 17:17
-
2I have edited this question to make it acceptable to this site. I did so because I would like it to be reopened. I think Bob Hanlon's answer is worth preserving. – m_goldberg Jun 21 '14 at 22:19
2 Answers
8
EDITED and CORRECTED to vertical stripes
Allowing that fewer than four colors can be used, then the first stripe can be any of the four colors and each subsequent stripe can be any of the three colors other than the last color used.
4*3*3*3*3*3
972
Alternate approach
colors = {yellow, blue, green, red} // Sort;
(flags1 = DeleteCases[Tuples[colors, {6}], {___, x_, x_, ___}]) // Length
972
toColors = Thread[colors -> {Blue, Green, Red, Yellow}];
Examples from flags1
Partition[
Graphics[Thread[{flags1[[#]] /. toColors,
Table[Rectangle[{n - 1, 0}, {n, 6/GoldenRatio}], {n, 6}]}],
ImageSize -> 100] & /@ Range[9], 3] // Grid

If all four colors must be used
(flags2 = Select[flags1, Union[#] == colors &]) // Length
600
Examples from flags2
Partition[
Graphics[Thread[{flags2[[#]] /. toColors,
Table[Rectangle[{n - 1, 0}, {n, 6/GoldenRatio}], {n, 6}]}],
ImageSize -> 100] & /@ Range[9], 3] // Grid

Bob Hanlon
- 157,611
- 7
- 77
- 198
-
I think it should be mentioned that sorting the list of colors is only necessary for finding
flags2. – m_goldberg Jun 21 '14 at 22:09 -
-
-
1I feel compelled to point out that the OP asked for vertical stripes. – m_goldberg Jun 22 '14 at 08:52
-
3@m_goldberg try setting your
$HeadOrientationRelativeToScreenvariable to-π/2:) – gpap Jun 22 '14 at 11:06 -
@gpap. I did that but the aspect ratio didn't adjust to the new orientation. – m_goldberg Jun 22 '14 at 11:33
-
-
@BobHanlon apologies for inadvertently replicating your initial comments...I have +1 – ubpdqn Jun 23 '14 at 11:57
2
As has been calculated by combinatorial considerations there will be 4*3^5 =972 flags. This can be done with Mathematica (as small enough for brute force):
tu = Tuples[Table[{Yellow, Blue, Green, Red}, {6}]];
dtu = DeleteCases[tu, {___, x_, x_, ___}];
Length@dtu
yields 972. (as has been pointed out by eldo this is essentially as per Bob Hanlon)
The flags can be visualized:
flag[u_] :=
Graphics[MapThread[{#1, Rectangle[{#2, 0}, {#2 + 1, 4}]} &, {u,
Range[6]}]];
GraphicsGrid[Partition[flag /@ dtu, 27], Frame -> All,
ImageSize -> 800]

ubpdqn
- 60,617
- 3
- 59
- 148
-
2Where is the difference to Bob Hanlon's answer (except that you show more flags) ? – eldo Jun 23 '14 at 11:27
-
@eldo I agree eldo, in retrospect, that I should have read BobHanlon's answer properly and apologize. One minor point of difference is operational...by using the "colors" it facilitates visualization. I am sorry. If you wish I can delete or perhaps more appropriately attribute to Bob Hanlon. – ubpdqn Jun 23 '14 at 11:49
-
-
@eldo thank you eldo I have edited to answer (as well as appropriately upvoting Bob Hanlons) – ubpdqn Jun 23 '14 at 11:59