Number of digits of n!

Поделиться
HTML-код
  • Опубликовано: 21 ноя 2024

Комментарии • 121

  • @ju5039
    @ju5039 6 месяцев назад +29

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

  • @kenhaley4
    @kenhaley4 Месяц назад +6

    I wrote a python program to check your final formula. Sadly it fails for the following values of n in the range 1 to 1000:
    96, 97, 98, 99, 100, 101, 102, 103, 122, 139, 190, 233, 241, 261, 331, 380, 415, 431, 445, 497, 583, 596, 624, 629, 634, 655, 716, 723, 789, 799, 821, 833, 861, 897, 921, 958, 959
    In all these cases, your formula calculates one MORE than the actual number of digits in n! I'm guessing these are all edge cases having to do with the Riemann sum approximation.
    Nevertheless, your videos are fantastic, and your presentation method is captivating. Keep up the good work...I love watching you.

  • @surendrakverma555
    @surendrakverma555 6 месяцев назад +11

    Very good lecture Sir. Thanks 👍

  • @RyanLewis-Johnson-wq6xs
    @RyanLewis-Johnson-wq6xs 5 дней назад +1

    Your gifted!

  • @Jon60987
    @Jon60987 6 месяцев назад +7

    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 6 месяцев назад +5

    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.

  • @guyneljean-francois4150
    @guyneljean-francois4150 6 месяцев назад +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).

  • @FrostNapCat
    @FrostNapCat Месяц назад

    Never understand what the log() function does until now. Thank you very much

  • @temporarytemporary-fh2df
    @temporarytemporary-fh2df 6 месяцев назад +1

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

  • @Misteribel
    @Misteribel 6 месяцев назад +2

    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.

  • @guyneljean-francois4150
    @guyneljean-francois4150 6 месяцев назад +3

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

  • @adw1z
    @adw1z 6 месяцев назад +8

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

    • @sammtanX
      @sammtanX 6 месяцев назад

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

    • @adw1z
      @adw1z 6 месяцев назад

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

  • @JesseBusman1996
    @JesseBusman1996 6 месяцев назад +39

    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  6 месяцев назад +27

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

    • @sanskarvirat2844
      @sanskarvirat2844 6 месяцев назад

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

    • @allozovsky
      @allozovsky 6 месяцев назад +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 6 месяцев назад

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

    • @iqtrainer
      @iqtrainer 6 месяцев назад

      @@allozovskyYeah you are objecting again. Blah blah blah

  • @nothingbutmathproofs7150
    @nothingbutmathproofs7150 6 месяцев назад +2

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

  • @רובימהאנדרואיד
    @רובימהאנדרואיד 6 месяцев назад +33

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

    • @liammoore1066
      @liammoore1066 6 месяцев назад +13

      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 6 месяцев назад +4

      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 6 месяцев назад +5

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

    • @allozovsky
      @allozovsky 6 месяцев назад +3

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

    • @liammoore1066
      @liammoore1066 6 месяцев назад +1

      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

  • @Arkapravo
    @Arkapravo 6 месяцев назад +10

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

    • @guyneljean-francois4150
      @guyneljean-francois4150 6 месяцев назад +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 6 месяцев назад

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

    • @allozovsky
      @allozovsky 6 месяцев назад +3

      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 6 месяцев назад +2

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

    • @allozovsky
      @allozovsky 6 месяцев назад +1

      @@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.

  • @futuregenerationinstitute9613
    @futuregenerationinstitute9613 6 месяцев назад +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.

  • @GURPARASSINGH-sg8sv
    @GURPARASSINGH-sg8sv 6 месяцев назад +4

    2:48
    Vsuace reference
    I gotchu😂😂

  • @liulmesfin-d5f
    @liulmesfin-d5f 6 месяцев назад

    This is amazing. Please don't stop these videos

  • @sammtanX
    @sammtanX 6 месяцев назад +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 6 месяцев назад

      Hm, makes perfect sense, though.

  • @KahlieNiven
    @KahlieNiven 6 месяцев назад

    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.)

  • @barryzeeberg3672
    @barryzeeberg3672 Месяц назад

    Can you use Stirling approximation?

  • @ironfbody
    @ironfbody 22 дня назад

    Could (should) have used Simpson's rule for the integral ?

  • @jetstream_samm
    @jetstream_samm 6 месяцев назад

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

  • @milindsarkar6961
    @milindsarkar6961 6 месяцев назад

    Great sir. ❤

  • @antosandras
    @antosandras Месяц назад

    This is a proof for x=n. :) Also for an incorrect (approximate) formula for log (n!).

  • @NormanicusDiabolicus
    @NormanicusDiabolicus 6 месяцев назад +2

    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  6 месяцев назад

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

    • @NormanicusDiabolicus
      @NormanicusDiabolicus 6 месяцев назад +2

      @@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 6 месяцев назад

      My replies have been deleted!!

    • @allozovsky
      @allozovsky 6 месяцев назад

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

    • @allozovsky
      @allozovsky 6 месяцев назад

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

  • @davidmexicotte9862
    @davidmexicotte9862 3 месяца назад

    You need to start a site and sell your hats! Great channel.

  • @povijarrro
    @povijarrro 6 месяцев назад +2

    Nice 1000 seconds long video about 1000!

  • @temporarytemporary-fh2df
    @temporarytemporary-fh2df 6 месяцев назад

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

  • @lethalsub
    @lethalsub 6 месяцев назад

    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!.

  • @gp-ht7ug
    @gp-ht7ug 6 месяцев назад

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

  • @RyanLewis-Johnson-wq6xs
    @RyanLewis-Johnson-wq6xs 20 дней назад +1

    I love math.

  • @stevenshrii
    @stevenshrii Месяц назад

    Ln(-1)/sqrt(-1) = pi

  • @johnka5407
    @johnka5407 6 месяцев назад +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.

  • @reekhilchawla3197
    @reekhilchawla3197 2 месяца назад

    awesome

  • @chaosredefined3834
    @chaosredefined3834 6 месяцев назад +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 6 месяцев назад

      @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 6 месяцев назад +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 6 месяцев назад

      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 6 месяцев назад

      @@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 6 месяцев назад

      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.

  • @boguslawszostak1784
    @boguslawszostak1784 6 месяцев назад

    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.

  • @AMANRAJ-dt8gu
    @AMANRAJ-dt8gu 26 дней назад

    made my day. thank you

  • @SidneiMV
    @SidneiMV 6 месяцев назад

    Great!

  • @chivalioum
    @chivalioum 6 месяцев назад

    Awesome

  • @RyanLewis-Johnson-wq6xs
    @RyanLewis-Johnson-wq6xs 4 месяца назад +2

    1000! Has 2,568 digits

  • @allozovsky
    @allozovsky 6 месяцев назад

    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  6 месяцев назад +1

      Looks like there's another adjustment to be made.

    • @allozovsky
      @allozovsky 6 месяцев назад +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.

  • @alexdefoc6919
    @alexdefoc6919 6 месяцев назад

    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

  • @RyanLewis-Johnson-wq6xs
    @RyanLewis-Johnson-wq6xs 4 месяца назад +1

    5!=120

  • @Dr_piFrog
    @Dr_piFrog Месяц назад

    I'll guess that there are 2568 digits in 1000!. Let me know if true or false.
    Your formula varies from one-off to spot-on values.

  • @vitotozzi1972
    @vitotozzi1972 6 месяцев назад

    Awesome!!!!

  • @robot8324
    @robot8324 6 месяцев назад

    Thank you !❤

  • @Muralimurali-o3n
    @Muralimurali-o3n Месяц назад

    Only ramanujan can understand this 🥵

  • @yaronbracha4923
    @yaronbracha4923 6 месяцев назад

    I liked it !

  • @amirrozenmanmalach3771
    @amirrozenmanmalach3771 6 месяцев назад

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

  • @RyanLewis-Johnson-wq6xs
    @RyanLewis-Johnson-wq6xs 3 месяца назад +1

    1000! has 2,568 digits in it

  • @wildfire_
    @wildfire_ Месяц назад

    4!

  • @klementhajrullaj1222
    @klementhajrullaj1222 6 месяцев назад

    How many digits has 2^100?!

    • @cyberagua
      @cyberagua 6 месяцев назад +1

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

    • @slavinojunepri7648
      @slavinojunepri7648 2 месяца назад

      This is true. This formula to figure out the number of digits in base 10 of any integer is easy to prove.

  • @aminsheykh7057
    @aminsheykh7057 6 месяцев назад

    Your videos are amazing👍

  • @cyrusrosales3127
    @cyrusrosales3127 6 месяцев назад

    smart

  • @WhiteGandalfs
    @WhiteGandalfs 6 месяцев назад

    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

  • @lubiemuze6368
    @lubiemuze6368 6 месяцев назад

    Three😂

  • @dirklutz2818
    @dirklutz2818 6 месяцев назад

    Fantastic lesson.

  • @robot8324
    @robot8324 6 месяцев назад

    Thank you !❤