How Many Squares/Rectangles Does a Rubik Cube Have?
- 时间:2020-09-10 12:55:33
- 分类:网络文摘
- 阅读:164 次
A Rubik cube usually have 6 sides. Take 3×3 rubik cube for example, each side has 9 little squares (1×1), 4 medium squares (2×2) and 1 big square (3×3). Therefore, there are 6 x (9 + 4 + 1) = 84 squares on a 3×3 rubik cube.

rubik-cube-3×3
How about counting the rectangles? It is a bit hard to count. Let’s write a function to count it. The algorithm is to bruteforce a pair of points (from top left corner to the right bottom). Then we compute the two sides of the rectangle to see if it is a square.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function countSquaresAndRectangles(N) { let squares = 0; let rectangles = 0; for (let a = 0; a <= N; a ++) { for (let b = 0; b <= N; b ++) { for (let c = a + 1; c <= N; c ++) { for (let d = b + 1; d <= N; d ++) { if (d - b === c - a) { squares ++; } else { rectangles ++; } } } } } return [6 * squares, 6 * rectangles]; } let ans = countSquaresAndRectangles(3); console.log("There are " + ans[0] + " squares, and " + ans[1] + " rectangles."); |
function countSquaresAndRectangles(N) {
let squares = 0;
let rectangles = 0;
for (let a = 0; a <= N; a ++) {
for (let b = 0; b <= N; b ++) {
for (let c = a + 1; c <= N; c ++) {
for (let d = b + 1; d <= N; d ++) {
if (d - b === c - a) {
squares ++;
} else {
rectangles ++;
}
}
}
}
}
return [6 * squares, 6 * rectangles];
}
let ans = countSquaresAndRectangles(3);
console.log("There are " + ans[0] + " squares, and " + ans[1] + " rectangles.");There are 84 squares, and 132 rectangles in a 3×3 rubik cube. For a 7×7 rubik cube, it will be hard to count. But the computers are really good at it (in fact, the above Javascript code runs pretty fast, for a small N).

rubik-cube-7×7
There are 840 squares, and 3864 rectangles for a 7×7 rubik cube.
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:数学题:参加数学兴趣小组的同学中 数学题相遇时货车行了240km 数学题:河边放养着一群鸭子 还有10块钱哪儿去了 数学题:实验小学五(1)班、五(2)班共有89人 数学题:两个牧童放羊 数学题:山路有多长 数学题:七个裁判员给一名体操运动员评分 在大学三下乡的反思 开心作文650字
- 评论列表
-
- 添加评论