How Many Squares/Rectangles Does a Rubik Cube Have?
- 时间:2020-09-10 12:55:33
- 分类:网络文摘
- 阅读:144 次
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) —
推荐阅读:3 Incredible Landing Pages And What We Can Learn From Them What is Cycle Counting and How to Implement It in Your Retail Bu 4 Reasons Why Your Blog is Struggling to Find an Audience 6 Best Fashion Bloggers for Style Inspiration The Strategy You Need to Write Better Blog Posts Than Your Compe How to Improve Your Blog’s Bounce Rate (and Why You Should) Does Your SME Have A Disaster Recovery Plan? 7 Best SEO Trends Gaining Popularity In 2019 How To Choose The Best Hosting Service For A WordPress Website An Idiot’s Guide to Email Automation for Bloggers
- 评论列表
-
- 添加评论