Easy algorithms to produce big numbers

In summary: This algorithm generates a sequence of large numbers, but it's not efficient because it keeps going past the largest number that can be generated.
  • #1
Loren Booda
3,125
4
How can a novice simply generate a large number > 1010 in a few steps?
 
Physics news on Phys.org
  • #2
By writing down a '1', followed by nine '0's, followed by a '1' ?

Not sure of what you really want, though.
 
  • #3
Dodo said:
By writing down a '1', followed by nine '0's, followed by a '1' ?

Not sure of what you really want, though.

There are simple means of generating a series which, by the third step say, creates a huge number, on the order of greater than 10100. In other words, how are the significant, very big numbers created, other than pasting together some smaller numbers?

I recall one of the best such algorithms was created by a Turing-like machine. Within three steps it easily reached over 10100.
 
  • #4
9^9^9 has 369'693'100 decimal digits
 
  • #5
It's probably not a coincidence that string-processing machines are able to make exponentially bigger numbers; adding a digit to a string is like incrementing its order of magnitude on each step... which is like adding one to its logarithm, thus multiplying by a constant on each step... thus exponentiation. (... Now imagine a machine doubling the number of digits on each step.)
 
  • #6
Loren Booda said:
How can a novice simply generate a large number > 1010 in a few steps?

f(x) = 1010 + 1

That's how you would do it mathematically. You have a function that outputs a number that's literally greater than 1010 for any input.

Can you explain what you mean by "generate?" For example if you are using a computer, you would perhaps first install a bignum package -- specialized software to handle arbitrary-sized numbers. Then you could just write a loop to count up to your large number by 1; or you could just take your large number and store it in memory.

It's not clear to me what else you might be asking.
 
  • #7
Loren Booda said:
I recall one of the best such algorithms was created by a Turing-like machine. Within three steps it easily reached over 10100.

As I indicated, f(x) = 10100 does it in one step.

But perhaps you are thinking of the Busy Beaver function. or the Ackermann function.

http://en.wikipedia.org/wiki/Busy_beaver

http://en.wikipedia.org/wiki/Ackermann_function

Those are functions used in computer science that grow very quickly. Ah you must be talking about functions that GROW very quickly, not just functions that output large numbers. Got it!

You see, f(x) = 10100 doesn't grow at all. So it's big, but it doesn't get any bigger.

Check out the Wiki links above, I think that's what you're talking about.
 
  • #8
You got it! Noncomputable growth. Busy beaver.

Thanks SteveL27.
 
  • #9
[itex]googleplex^{googleplex^{...}}[/itex], where there are a googleplex

number of tiers is something I was thinking of recently.
 
  • #10
Does this make sense:

What is the most "efficient" algorithm for generating a largest possible (computable) number?
 
  • #11
In math, there's some large number generators like knuth's arrows, bowers operators, Graham's numbers and friedmans TREE sequence. Each of these is dwarfed by the one following for generating large numbers.
 
  • #12
oh my goodness TREE(3) is huge!
 
  • #13
There's an interesting sequence that creates tons of large numbers before reaching zero:

-Take an arbitrary number N and express it in base-2 hereditary notation (that all coefficients are less than or equal to 2, eg 35= 25+21+1 however the exponent 5 is greater than 2, we will express that part as 22+1 giving instead 222+1+21+1)

-Then take all 2's and replace them with 3's and subtract 1 from the result, expressing this in base-3 hereditary notation
-Then take all Ns and replace them with N+1s and subtract 1, expressing them in base-N+1 hereditary notation (3 to 4, 4 to 5, 5 to 6...)

Eventually you'll reach one but you'll hit enormous numbers on the way.
 

1. What are easy algorithms to produce big numbers?

Some easy algorithms to produce big numbers include the factorial function, the Fibonacci sequence, and exponentiation. These algorithms can quickly generate large numbers by either multiplying numbers together or adding them repeatedly.

2. How do algorithms produce big numbers?

Algorithms produce big numbers by using mathematical operations, such as multiplication, addition, or exponentiation, to generate a sequence of numbers that increase in size. As the algorithm continues, the numbers become larger and larger.

3. Can easy algorithms produce infinite numbers?

No, easy algorithms cannot produce infinite numbers. While these algorithms can generate very large numbers, they are limited by the capabilities of the computer or programming language they are being used with. Eventually, the algorithm will reach the maximum number size and cannot continue.

4. How can easy algorithms be used in real-life applications?

Easy algorithms can be used in various real-life applications, such as cryptography, data encryption, and data compression. They can also be used in computer graphics, simulations, and scientific calculations that require large numbers.

5. Are there any drawbacks to using easy algorithms to produce big numbers?

One drawback of using easy algorithms to produce big numbers is that they can be resource-intensive and may slow down a computer if not properly optimized. Additionally, these algorithms may not be suitable for producing truly random numbers, which can be important in certain applications.

Similar threads

  • Linear and Abstract Algebra
Replies
11
Views
1K
  • Programming and Computer Science
Replies
14
Views
2K
  • Programming and Computer Science
Replies
9
Views
369
  • Programming and Computer Science
Replies
1
Views
953
  • General Math
Replies
11
Views
1K
  • Programming and Computer Science
Replies
8
Views
1K
  • Programming and Computer Science
Replies
4
Views
1K
  • Quantum Physics
Replies
13
Views
887
Replies
5
Views
1K
  • Programming and Computer Science
2
Replies
46
Views
4K
Back
Top