Number of digits of n!

Поділитися
Вставка
  • Опубліковано 28 кві 2024
  • In this video, I used the definition of logarithm and the factorial for real numbers to obtain the number of digits of any factorial. In particular, I found the number of digits for 1000!. The formula was adjusted to use the mid Reimann sum. I have not tested every number for this formula but It worked for the ones I tested. Please leave a comment in the comment section.

КОМЕНТАРІ • 98

  • @ju5039
    @ju5039 Місяць тому +12

    Your talent to explain complex matters in a clear and direct manner is simply unmatched. Thank you for making these lectures.

  • @surendrakverma555
    @surendrakverma555 Місяць тому +6

    Very good lecture Sir. Thanks 👍

  • @Jon60987
    @Jon60987 Місяць тому +3

    This is an awesome video. A nice follow up would be to take the left, right, and midpoint equations for number of digits, and then display some charts to show how accurate or how inaccurate each of the 3 equations are. As you were clear about, these are all approximations and not exact values. However, one of the other posts which gives a few values shows that you came up with some very nice approximations to the actual values. I found this to be a very impressive demonstration of using Riemann Sums in a way that I would not have come up with on my own.

  • @allozovsky
    @allozovsky Місяць тому +4

    But following the logic in the video, in order to "stick in the middle" we have to shift *both* limits of integration by one half, not just the upper one, so the final formula would be
    log₁₀(n!) ≈ [x·(ln(x)−1)/ln(10)] at [x₀; x₁] = [1.5; n+0.5]
    = [(n+0.5)·(ln(n+0.5)−1) − 1.5·(ln(1.5)−1)]/ln(10)
    ≈ [(n+0.5)·(ln(n+0.5)−1) + 0.8918]/ln(10)
    so the number of decimal digits of n! is
    log₁₀(n!) ≅ ⌊((n+0.5)·(ln(n+0.5)−1) + 0.8918)/ln(10)⌋ + 1
    This minor change significantly decreases the number of errors (by roughly 2.5 to 3 times), but nevertheless errors still occur (at a rate of about 1.3%, that is ≈13 cases out of every 1000), but that's probably the best we can do with this approach.

  • @user-ud3cg2vp5s
    @user-ud3cg2vp5s Місяць тому +27

    Amazing. May I ask? As u mentioned 5 doesn't work. Why?

    • @liammoore1066
      @liammoore1066 Місяць тому +11

      I believe it is just to do with that the fact that the integral of the Riemann summation is an approximation. I’m guessing that because 5! is one of the first numbers to add another digit (120) and it only passes 100 by 20 it probably failed due to this. Lmk if anyone else has thoughts on this I may be wrong.

    • @allozovsky
      @allozovsky Місяць тому +3

      Neither the original nor the "shifted by one half" formula works for all natural numbers. For example, 96! has 150 decimal digits, but the shifted formula yields 151. And there are as much as 37 such whole numbers among the first one thousand. So it's rather a miracle that it did work for 1000!

    • @justrandomthings8158
      @justrandomthings8158 Місяць тому +2

      963/1000 doesn’t sound very miraculous but what do I know

    • @allozovsky
      @allozovsky Місяць тому +1

      @@justrandomthings8158 We missed the nearest "wrong" number by 41, so we aimed well.

    • @liammoore1066
      @liammoore1066 Місяць тому

      Does anyone know why he chose to shift by 1/2? I didn’t understand that since the integral is an infinite amount of rectangles. Was it just so 1000 would work

  • @JesseBusman1996
    @JesseBusman1996 Місяць тому +31

    The ceil of log10 doesn't work to get the amount of digits of numbers like 10^n; for example ceil(log10(1000)) gives 3 digits which is wrong
    So I think it should be 1+floor(log10(n))

    • @PrimeNewtons
      @PrimeNewtons  Місяць тому +19

      You're correct. I was blind sided by the fact that no factorial is 10^n.

    • @sanskarvirat2844
      @sanskarvirat2844 Місяць тому

      ​@@PrimeNewtonsI laughed for quite a while. Good videos

    • @allozovsky
      @allozovsky Місяць тому +3

      @@PrimeNewtons > no factorial is 10^n
      Objection! 9.4456089! = 10⁶ - we already know how to evaluate non-integer factorials. No *integer* factorial is 10ⁿ.
      *NB* this is supposed to be a joke, so that nobody in the comments gets confused.

    • @iqtrainer
      @iqtrainer Місяць тому

      @@allozovskyYeah you are just negative and meaninglessly objecting everything. You def seem to be ill

    • @iqtrainer
      @iqtrainer Місяць тому

      @@allozovskyYeah you are objecting again. Blah blah blah

  • @guyneljean-francois4150
    @guyneljean-francois4150 Місяць тому +3

    For the factorial of the small numbers, you could also rewrite the number as a product of primes (but for the huge numbers like 1000!, it would be boring). For example 5! = 5*4*3*2*1 = 5*3*2^3*1. log(5!)= log(5) +log(3)+3log(2) +log(1) = 2.079
    and ceil(2.079) = 3
    However for the numbers in the form of 10^n, the number of digits seems rather to be (1+n) instead of (log10^n).

  • @user-xn6jt6qu8m
    @user-xn6jt6qu8m Місяць тому

    This is amazing. Please don't stop these videos

  • @milindsarkar6961
    @milindsarkar6961 20 днів тому

    Great sir. ❤

  • @adw1z
    @adw1z Місяць тому +5

    Small point: in your summations, I believe the upper limit should be x and the dummy variable as n

    • @sammtanX
      @sammtanX Місяць тому

      I thought about the same thing, but would it be different for the result of the integral?

    • @adw1z
      @adw1z Місяць тому

      @@sammtanX yes same goes for the integral too, as we want it as a function of x like the LHS

  • @futuregenerationinstitute9613
    @futuregenerationinstitute9613 Місяць тому +2

    Could you please drop another one showing parallelogram properties using diagonals and their formulas in terms of perimeter, area, and the side lengths. Thank you.

  • @aminsheykh7057
    @aminsheykh7057 Місяць тому

    Your videos are amazing👍

  • @Arkapravo
    @Arkapravo Місяць тому +9

    Very nice, you could have used Stirling's approximation directly

    • @guyneljean-francois4150
      @guyneljean-francois4150 Місяць тому +4

      Sterling's approximation could give you an estimate of the factorial of the number but not the number of digits. Then, you'll need to count after and in the case of the huge numbers like 1000, the calculator won't be able to display the calculus.

    • @Arkapravo
      @Arkapravo Місяць тому

      @@guyneljean-francois4150hmmmm.... n^n becomes the nonsense bit. I agree with you.

    • @allozovsky
      @allozovsky Місяць тому +2

      But you can use the logarithm of the approximation instead:
      log(n!) ≈ (n·ln(n) − n + ln(2πn)/2)/ln(10)
      That would give much smaller values.
      This is almost our formula from the video, but with a better correction term.

    • @hejjakaroly5850
      @hejjakaroly5850 Місяць тому

      @@allozovsky Yes, this formula is far more accurate. I didn't find a single error up to n = 1 000 000.

    • @allozovsky
      @allozovsky Місяць тому

      @@hejjakaroly5850 So for any practical purposes (as though there may be any practical purpose in determining the number if decimal digits in a factorial) we may safely use this approximation.

  • @robot8324
    @robot8324 Місяць тому

    Thank you !❤

  • @GURPARASSINGH-sg8sv
    @GURPARASSINGH-sg8sv Місяць тому +4

    2:48
    Vsuace reference
    I gotchu😂😂

  • @vitotozzi1972
    @vitotozzi1972 Місяць тому

    Awesome!!!!

  • @Misteribel
    @Misteribel 25 днів тому

    6:30 you probably want to use the floor function and then add one. Otherwise, it won't work with numbers like 10, 10000 etc. For this exercise, though, the result is the same as we won't get an exact power of 10.

  • @temporarytemporary-fh2df
    @temporarytemporary-fh2df Місяць тому

    Stirling formula calculates the exact number of digits and the exact frontmost digits it is super useful.

  • @guyneljean-francois4150
    @guyneljean-francois4150 Місяць тому +1

    Based upon my first comment, to be general, the number of digits of n is equal to (1+ floor(log(n) )

  • @johnka5407
    @johnka5407 Місяць тому +1

    The system with logarithms at the beginning doesn’t work for the powers of 10, ceiling(log(10)) is 1, but 10 has 2 digits. I think floor(log(x)) + 1 would be better.

  • @sammtanX
    @sammtanX Місяць тому +1

    the great thing is, if you put log_10(x!) = (x ln(x) - x + 1)/ln(10) in desmos, it will just show x = 1.

    • @allozovsky
      @allozovsky Місяць тому

      Hm, makes perfect sense, though.

  • @SidneiMV
    @SidneiMV Місяць тому

    Great!

  • @yaronbracha4923
    @yaronbracha4923 Місяць тому

    I liked it !

  • @nothingbutmathproofs7150
    @nothingbutmathproofs7150 Місяць тому +1

    Very nice. At the bottom of the 2nd board I wouldn't have put an equal sign.

  • @chivalioum
    @chivalioum Місяць тому

    Awesome

  • @NormanicusDiabolicus
    @NormanicusDiabolicus Місяць тому +1

    I really enjoy all your videos so clearly and lucidly explained. However, I cannot understand the logic used in this video. 1000! is clearly a product of 1000 discrete integer terms; yet you are employing an integration between two limits( n and 1) which is only valid for continuous functions. Using the gamma function is surely invalid for factorials of integers?

    • @PrimeNewtons
      @PrimeNewtons  Місяць тому

      I claimed I was using the shifted gamma function, which is continuous.

    • @NormanicusDiabolicus
      @NormanicusDiabolicus Місяць тому +1

      @@PrimeNewtons Yes , but 1000! is the product of discrete integers , so why is using the continuous gamma function valid? It's like using Integration of x between 1 and 100 to determine the sum of all consecutive integers from 1 to 100 , instead of 100(100+1)/2

    • @NormanicusDiabolicus
      @NormanicusDiabolicus Місяць тому

      My replies have been deleted!!

    • @allozovsky
      @allozovsky Місяць тому

      @@NormanicusDiabolicus Rather shadow banned by youtube (esp. if you comment contained a lot of digits and/or math symbols).

    • @allozovsky
      @allozovsky Місяць тому

      Normally you still can find all your shadow banned comments intact in the Comments section of you youtube History.

  • @jetstream_samm
    @jetstream_samm Місяць тому

    what would you say, if there at answer was 2567.5 for example ?

  • @boguslawszostak1784
    @boguslawszostak1784 Місяць тому

    In the 13th minute, you placed an equal sign between the first expression at the top of the board and the result obtained, but in the second row, it is not an equality but an approximation.

  • @temporarytemporary-fh2df
    @temporarytemporary-fh2df Місяць тому

    By doing so you'r just rewritung the stirling approx which i do prefer than using it blindly.

  • @gp-ht7ug
    @gp-ht7ug Місяць тому

    If you say that x! is continuous function, why don’t you use the integral of the Π(x) function for the factorial?

  • @KahlieNiven
    @KahlieNiven 21 день тому

    The power of log (log, not love) will always amaze me.
    From quick calculations (from mind) I found number of digits between 1000 and 3000. (that not solves but helps to find coherent result).
    then formals.
    EDIT : 3 digits x 1000 +1 minus 100 >= 2901 > N > 2x900+something > 1800 (log_10 applied intuitively) ... 100x101..x999x1000 -> at least 2x900 digits.
    (I wasn't sure about the ways to write the log ... ln ? log_e ? log ? in france ln is log_e, log is log_10, log_a is obviously log_a.)

  • @alexdefoc6919
    @alexdefoc6919 Місяць тому

    Hey, now we need to know how to find the first 2 digits or 3 to put it in scientific notation of x.yz * 10^2568

  • @amirrozenmanmalach3771
    @amirrozenmanmalach3771 Місяць тому

    Why do you write the times 1? Does it have some reason?

  • @dirklutz2818
    @dirklutz2818 Місяць тому

    Fantastic lesson.

  • @chaosredefined3834
    @chaosredefined3834 Місяць тому +1

    But we can get an indication of if it will fail. Take the case of 5!. As you point out, we want log(5!), which is log(1) + log(2) + log(3) + log(4) + log(5). And we can ignore the 1, so we get log(2) + ... + log(5). At this point, you replace it with an integral, which is an approximation. But if we go for the integral of 1-5, it's going to be smaller. If we go for the integral of 2-6, it's going to be larger. You resolve this at the end by taking the midpoint (1.5 - 5.5). But our underestimate is 1.7577... and our overestimate is 2.3297.... Which tells us that log(5!) is between 1.7577... and 2.3297..., so we don't know what value floor(log(5!)) or ceil(log(5!)) will take (the floor is either 1 or 2, the ceil is either 2 or 3). Compare this to log(4!), which is between 1.1054... and 1.5899..., so we know it's always 1.(something), so floor(log(4!)) = 1, and ceil(log(4!)) = 2.

    • @allozovsky
      @allozovsky Місяць тому

      @chaosredefined3834 > You resolve this at the end by taking the midpoint (1.5 - 5.5).
      But seems like with our "shifted" formula we are integrating from 1 to n+0.5, not from 1.5. Though there are no obvious reasons why it should work for all n (and in fact it does not).

    • @chaosredefined3834
      @chaosredefined3834 Місяць тому +1

      @@allozovsky He should have gone from 1.5 to 5.5. That's an error on his part, but the error will be minor.

    • @allozovsky
      @allozovsky Місяць тому

      The "error" is actually equal to the value of the integral from 1 to 1.5, that is approximately 0.0470 - whether it is small or not is hard to tell, since we still have no measure to estimate it's impact.

    • @chaosredefined3834
      @chaosredefined3834 Місяць тому

      @@allozovsky Assuming that the logs are evenly distributed (which we don't know, but it's a reasonable assumption), it's an error of 1 in approximately 4.7% of cases. Fortunately, the estimate of logs in the other part is an error in the other direction, so it "should" be ok.

    • @allozovsky
      @allozovsky Місяць тому

      A shifted formula will not overcome Stirling's approximation anyway, since the latter has a term depending on n, which presumably should provide a better accuracy. The shifted model is too rough.

  • @allozovsky
    @allozovsky Місяць тому

    But neither the original nor the "shifted by one half" formula seems to work for all natural numbers. For example, 96! has 150 decimal digits, but the shifted formula yields 151. And there are as much as 37 such whole numbers among the first one thousand. So it's rather a miracle that it did work for 1000!

    • @PrimeNewtons
      @PrimeNewtons  Місяць тому +1

      Looks like there's another adjustment to be made.

    • @allozovsky
      @allozovsky Місяць тому +1

      @@PrimeNewtons Stirling's approximation (when we replace the "+1" term in the original formula by ln(2πn)/2) gives much better results, which is understandable, since now our correction term depends on n, which gives a better approximation.

  • @lethalsub
    @lethalsub Місяць тому

    Factorise 10, 2*5. 5 is the bigger factor. 1000//5=200, 1000//5**2=40, 1000//5**3=8, 1000//5**4=1, 200+40+8+1=249. 249 zeros at the end of 1000!.

  • @cyrusrosales3127
    @cyrusrosales3127 Місяць тому

    smart

  • @povijarrro
    @povijarrro Місяць тому

    Nice 1000 seconds long video about 1000!

  • @WhiteGandalfs
    @WhiteGandalfs Місяць тому

    When taking the simple integral, we arrive at about 2566 digits. When asking Wolfram Alpha about the exact product, it spits out 2568 digits. So this method demonstrated here (giving 2568) is a pretty exact one. That little correction appendix is the usual way how engineers tend to tackle such things :D

  • @klementhajrullaj1222
    @klementhajrullaj1222 Місяць тому

    How many digits has 2^100?!

    • @cyberagua
      @cyberagua Місяць тому

      But that's easy: floor[100×log(2)] + 1 = 31

  • @lubiemuze6368
    @lubiemuze6368 Місяць тому

    Three😂

  • @robot8324
    @robot8324 Місяць тому

    Thank you !❤