Share your repls and programming experiences

← Back to all posts
Rubik's Cube Combinations
bgrubert (123)

Hello!

Because of Covid-19(The coronavirus), I have had lot more time to work on repl.it so I decided to make this fun code!

Did you know that a 3 x 3 x 3 Rubik's cube has over 43 Quintillion or 43 Million Trillion different positions?

Calculate how many different combinations, visualize the Rubik's cube, and learn how many digits the number is with this simple program!

Instructions

  • Enter a number 1 - 100 into the input( you can put higher numbers later)
  • Press "Calculate" and wait.
  • A simulated version of the top-view of the Rubik's cube will be displayed to the left, and to the right, the number of possible combinations for that Rubik's cube (the 3d version of course).
  • If the number you chose was big enough, you will be able to scroll through the number to the bottom, otherwise, the whole number will be displayed in front of you.
  • If you didn't listen to me and chose a number higher than 100, you may get a few "Page Unresponsive" popups but you can just close them out and ignore them

Stats

Here are some of the results that I got for varying cube sizes!

  • 2 x 2 x 2 - 7 digits
  • 3 x 3 x 3 - 20 digits
  • 4 x 4 x 4 - 46 digits
  • 5 x 5 x 5 - 59 digits
  • 6 x 6 x 6 - 117 digits
  • 7 x 7 x 7 - 130 digits
  • 8 x 8 x 8 - 218 digits
  • 9 x 9 x 9 - 231 digits
  • 10 x 10 x 10 - 350 digits
  • 33 x 33 x 33 (Largest Rubik's Cube) - 3,867 digits
  • 100 x 100 x 100 - 38,416 digits (Takes a few seconds)
  • 150 x 150 x 150 - 86,708 digits
  • 200 x 200 x 200 - 154,390 digits
  • 250 x 250 x 250 - 241,461 digits
  • 300 x 300 x 300 - 347,922 digits
  • 350 x 350 x 350 - 473,771 digits
  • 400 x 400 x 400 - 619,010 digits (Took like half an hour)
  • 500 x 500 x 500 - 967,656 digits (Took several hours)
  • Feel free to share with me higher results i.e. 450 x 450 x 450 (You'll be mentioned here)!

Thanks!

Commentshotnewtop
OliverChen1 (2)

Nah 500x500x500 is impossible.
It throws RangeError: BigInt is too large to allocate.
But it did give me the picture :)
And, as a bonus, it only took less than one minute.

bgrubert (123)

@OliverChen1 I managed to calculate 500 x 500 x 500

avibeskrowni (75)

410 by 410!
Beat you!

LiamDonohue (206)

oh god this isnt going to be good

999x999x999
edit:
theeee laaaag

LiamDonohue (206)

alright ima go get a snack or something lol this is going to take a while @LiamDonohue

bgrubert (123)

@LiamDonohue I don't think that's going to work - maybe try something more like 300

LiamDonohue (206)

lol im going to still try (well if it doesn't blow up my Chromebook lol) @bgrubert

LiamDonohue (206)

yeah nope it shut itself down @bgrubert

bgrubert (123)

@LiamDonohue 400 is my record on my Chromebook(it took about half an hour)
Edit: my record is now 500

JoeyRueff (2)

3 x 3 x 3 Rubik's cube has over 43 Quintillion or 43 Million Trillion different positions. Is that more then or less then 5 xD?

Thehappysquid (26)

It is broken... It seems like you didn’t define the variable change.

[deleted]

If the numbers are big, you have to wait a loooooooong time. So be patient. @Thehappysquid

[deleted]

Oh... I see now... @Thehappysquid

bgrubert (123)

@Thehappysquid Can you explain the bug more clearly?

Thehappysquid (26)

@bgrubert when I run the program, it gives me a syntax error in the console, usually related to different things when I try to run it.

bgrubert (123)

@Thehappysquid What were you inputting? The code works for me!

SixBeeps (1410)

Haven't seen a cubing project before. Nicely done!

Coder100 (1287)

Next up: How to solve a rubik's cube lol
How is 1x1 not a valid input >:(

bgrubert (123)

@Coder100 1x1 bugged out I'll add it in now

Coder100 (1287)

yay lol

if(value == 1) return 1

70x70: 18747 digits
Quick question: Can you solve a Rubik's cube? I'm guessing you can :P
@bgrubert

bgrubert (123)

@Coder100 I used to be able to - I forgot the ending now

Coder100 (1287)

ending?
like pll?
;(
100 x 100 x 100 : 38416 digits @bgrubert

bgrubert (123)

@Coder100 I used to know beginners method - not CFOP

Coder100 (1287)

0 is an invalid input ;(
and so is -1
;(
0 -> 0 permutations
-1 -> -1 permutations @bgrubert

bgrubert (123)

@Coder100 Shouldn't 0 have 1 permutation - just nothingness
Edit: It works now

Coder100 (1287)

yay lol
then -1 should have 0
and -2 should have -1 @bgrubert

bgrubert (123)

@Coder100 That doesn't make a lot of sense but it would make for a good easter egg

Coder100 (1287)

or
it could be random ascii
corrupted data! @bgrubert

Coder100 (1287)

Like this

String.fromCharCode(Math.floor(Math.random()*10000))

@bgrubert

Coder100 (1287)

~~What is that? ~~
EDIT: How dare you add flavor to the JavaScript without jquery @bgrubert

avibeskrowni (75)

@bgrubert @Coder100's not wrong. jquery is nice. although i usually use vanilla js

DynamicSquid (91)

I tried running your code with a 500x500 cube, but it took too long lol

bgrubert (123)

@DynamicSquid You can't really go over 200 - 500

DynamicSquid (91)

@bgrubert In theory, is it possible to computer big numbers? Or does the code just take too long and the computer stops running it?

bgrubert (123)

@DynamicSquid The output would be millions of digits long and my chromebook just can't handle that. My code should be able to handle it - I have no idea how large you can go with Javascript Bigint

DynamicSquid (91)

@bgrubert I see... Still a cool code btw

bgrubert (123)

@DynamicSquid There is another website that does this but it bugs out with higher than 30 cube size