The Almighty Googolplex

goo-gol-plex (goo'-gôl-pleks) n. from the Latin words googis meaning "a lot" and plex meaning "even more"

Once upon an hour exam, we found ourselves watching some old tapes of COSMOS. Therein we found a new challenge to astound, amaze, and otherwise occupy us for the evening:

In his uniquely compelling manner, Carl Sagan was explaining the concepts of a googol to us. For those of you who choose to waste your time outside of mathematics circles, a googol is the name for this number : 10 100 . (Actually, this name doesn't derive from any logical origins.) When written in long form, a googol is a '1' with one hundred '0's after it. Basically, a very big sort of number. In fact, if you can manage to collect a googol of anything, you have WAY too much free time. Below is the long form of a googol, so you can get an idea of how big it is. Keep in mind that this is like writing 1,000,000 for a million. Counting to a million (i.e. 1, 2, 3, 4, ...) would take a much longer time (and more paper).

10,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000

To continue... A googolplex is the name given to yet a larger number: 10 10 100 (ten to the googol'th power). This would work out on a piece of paper as a '1' with one googol '0's after it. Still with us? As he unraveled a long roll of register tape with '0's written on it, Carl Sagan explained that in order to write down the long form of a googolplex, you would need more paper than you could possibly stuff into the entire known universe!!! (even if you write REALLY small)

Being conservationists, we determined that this would almost certainly mean the end of every tree on earth to make that much paper. What a waste of time... But that last thought intrigued us, also being avid wasters of time.

So that is how the mighty Googolplex Project began. I wandered into Doug's room and proposed that we write a C program that would print out the long form of a googolplex on the screen. (Print a '1' followed by a googol '0's). It sounded so simple that he couldn't resist, and soon began coding.

The first problem we encountered was that there aren't too many variables inside a computer that can be that big, so Doug devised a clever looping scheme which I will not try to describe here. As we set his monster to its work, and the zeroes began appearing, we decided to do some math to figure out when it should be done.

Imagine our surprise when we determined that Doug had accidentally outdone himself. He had not made a program that wrote down a googolplex, it was actually counting to a googolplex!!! Yes, this program was internally going 1, 2, 3, 4, 5, ... and it would not stop until it had counted 10 10 100 times!

Well, this was of course COMPLETELY silly, so we spent the next hour trying to figure out how to fix the program, and when it would (theoretically) be done running. To try and explain the silliness factor better, consider these examples:

A person counting at two numbers a second, would take this long to reach these numbers:

Counting to: Would take this long: one million 5 days, 18 hours, 53 minutes, 20 seconds one billion 15 years, 308 days, 9 hours, 41 minutes, 50 seconds one googol 1.584 * 10 90 centuries!!!

To count to a googolplex, it would take 5 * 101099 seconds. We can't convert that into centuries or anything because our calculators can't handle numbers that big (not to mention our brains). Just trust us when we say it's far too silly to comprehend.

Anyway, Doug fixed his program so it would (merely) count to a googol, like the last entry in the table above. Note, a computer can count a whole lot faster than 2 numbers per second. We estimated that when we commandeered an HP workstation and opened up the throttle, we were pulling about 7,834,000 counts per second. That means that the computer can count to ten million in 1.2 seconds, where it would take a person 5.8 days to do the same job!

So we knew that running the googol count on the computer would take a lot less than 1.6 * 1090 centuries...Right??

Well, it IS a lot less, as a matter of fact. Doug's program would complete in 4 * 1083 centuries. Gosh, this is still well past the demise of us, the Earth, our solar system, the entire universe, and the Baywatch™ series.

What a bummer! So lets suppose we had a computer that was 100 times faster than our borrowed HP workstation (WOW...wouldn't "Quake" just rock on that?). Some simple math tells us that it would still take 4 * 1081 centuries. AAARGH! Is there no hope for this project?!!

Well, we here at the Procrastinators Club have decided that we have nothing better to do, so we are going to go ahead and run the damn program anyway! We grabbed an inconspicuous corner of an HP workstation and dedicated it to this truly important task. (Hey, if they waste time calculating pi to the gazillionth digit, why can't we get some real work done?) Doug and Nate1 have developed a Java™ applet which will tell us how much the program has counted so far. It should be running below as we speak:

Further questions about Big Numbers

We get mail here at the Procrastinators Club, often asking more about the projects we've written up. Sometimes, our responses actually contribute something to the explanation at hand, and we add them to a write-up. In this case, someone wrote us to ask about something "more useful" than counting to a googolplex- merely counting to Avogadro's Number (6.02 x 10^23).