Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Small Programming Tricks(will-keleher.com ↗)
    8comments
  2. Code Is Crap(googleblog.com ↗)
    7comments
  3. Dream-RSI: Recursive Self-Improvement through Evolving Worlds(arxiv.org ↗)
    22comments
  4. Mistral X Mozilla: Private, Multilingual AI Browsing(mistral.ai ↗)
    114comments
  5. Introducing System One Models and Jev(typesafe.ai ↗)
    459comments
  6. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    221comments
  7. Tell the speakers that you liked their talks(ohhelloana.blog ↗)
    16comments
  8. Can we stop with the uptime percentages?(jim-nielsen.com ↗)
    32comments
  9. How Big Are Factorials?(thegreenplace.net ↗)
    12comments
  10. Hackers Got Inside a Flock Camera. Its Data Shows How the System Works(wired.com ↗)
    104comments
  11. Measuring Gauss-Seidel loop-carried dependency and fixing it via loop unrolling(loiseaujc.github.io ↗)
    discuss
  12. Apple Reference Image: A New Approach for Verified Photography(security.apple.com ↗)
    265comments
  13. Scaling Golang CI by Replacing actions/setup-go(cloudx.ai ↗)
    5comments
  14. Douglas Adams and the exterminated Doctor Who adventure(bbc.co.uk ↗)
    38comments
  15. Kyber (YC W23) Is Hiring a Forward Deployed Engineer(ycombinator.com ↗)
    discuss
  16. Original Sony PlayStation 2 security chip 'broken wide open' after 26 years(tomshardware.com ↗)
    44comments
  17. An update on Wayback Machine access(blog.archive.org ↗)
    340comments
  18. Salesforce Global Outage(salesforce.com ↗)
    122comments
  19. The Google Play app review process now regularly takes longer than a week(gultsch.social ↗)
    229comments
  20. Anatomy of a Texture(agentlien.github.io ↗)
    4comments
  21. Show HN: How Stale Is Your AI? Release age and training cutoff for 20 models(stale.jock.pl ↗)
    19comments
  22. Show HN: I made a flight simulator, except you're just a passenger(inflightsimulator.com ↗)
    184comments
  23. Doing Everyone Else's Job(yosefk.com ↗)
    78comments
  24. Gemini 3.8 Live and 3.8 Live Extended Thinking(blog.google ↗)
    313comments
  25. OpenAI expands ChatGPT ads with Sponsored Agents(openai.com ↗)
    104comments
  26. Why I'm still bearish on LLMs after Navier-Stokes(dank.systems ↗)
    466comments
  27. DeepSeek v4.1 Flash Is Now Our Best Hacking Model(enclave.ai ↗)
    25comments
  28. Intelligence per Watt: Measuring Intelligence Efficiency of Local AI(arxiv.org ↗)
    40comments
  29. German Rheinmetall open-sources its Battlesuite connected weapon system protcol(rheinmetall.github.io ↗)
    98comments
  30. A software thing I built: GPS on a 25MHz 486-SX(vcfed.org ↗)
    19comments

How Big Are Factorials?

27 pointsby 1d agoeli.thegreenplace.net
12 comments
18h agoHN ↗

Factorial (n) for n > 24 is greater than 10^n.

2h agoHN ↗

Reminds me of: Professor asked us to find the biggest factorial using C programming language. And then using LISP. You can imagine our surprise.

52m agoHN ↗

There is a algorithm call Prime Swing Factorial that can compute large factorials exactly in arbitrary precision math using prime factorization. Like 10000000! in under second depending of how optimized the math library it. Probably like 100x faster than the normal method.

2h agoHN ↗

Stirling's approximation is also used a lot in statistical mechanics, because you often have to calculate logs of state space sizes, which means lots of combinatorics and thus lots of factorials. Plus it's continuous so you can do calculus.

1h agoHN ↗

The author's casual mention of 52! at the opening of the article triggered an OLD webpage that I saw many years ago

https://czep.net/weblog/52cards.html

Anyone know how to determine the age of this page (it's got be at least 20yrs old)

57m agoHN ↗

The main.css file it imports dates itself to March 9 of 2005, and is housed in an "ancient history" section of the website that covers everything before October 26, 2010, so: "sometime between those two years" =P

17m agoHN ↗

Its first appearance on the WayBack Machine is October 13, 2009, which narrows the range somewhat.

51m agoHN ↗

52 cards is the first thing I think of when I think factorials. It's such a great and relatable way to convey the subject to people, plus it usually ends up blowing their minds like it did mine when I first learned of it. Not from this page, but from a YT vid many moons ago.

46m agoHN ↗

It was made during the brief XHTML craze. (And it's also invalid XHTML)

1h agoHN ↗

A quick and dirty approximation of the number of digits in n! is n lg n, which approximates n! from above, via the inequality

  1 * 2 * … * n ≤ n * … * n.

(This approximation should be familiar to many from an algorithmics class.)

For a tighter bound, use n lg n - n/2, or a better approximation of ln 10 in place of 1/2 if you wish. This comes from Stirling's approximation which notes that

  ln n! = n ln n - n + O(ln n).
38m agoHN ↗

(This approximation should be familiar to many from an algorithmics class.)

You need both sides though :)

What makes it interesting for estimating algorithmic complexity is that \log{n!} \in \Theta(n \log n). One side is obvious as you note, the other less so, but there's a famous trick to do both at once:

\log{n!} = \log{\prod_{h=0}^{n} h} = \sum_{h=0}^{n} \log{h}

Therefore,

\int_0^n \log{x} dx \le \log{n!} \le \int_0^n \log{x+1} dx

with both integrals trivial by parts.

28m agoHN ↗

lg(n!) grows roughly as (n lg n). Constants matter, of course, but to that's the rough estimate.

As an aside, if you take numbers from 0 to (n-1) in an array, there are n! configurations, so representing each configuration or differentiating each configuration take n lg n bits. So, in some sense, taking a mapping that's able to differentiate the input state to map to the ordered state takes at least O(n lg n) time, the standard runtime of a basic sorting algorithm.

Any additional assumptions (n larger than maximum element, distribution of elements) helps reduce this.