Your talent to explain complex matters in a clear and direct manner is simply unmatched. Thank you for making these lectures.
@kenhaley4Ай бұрын
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.
@surendrakverma5556 ай бұрын
Very good lecture Sir. Thanks 👍
@RyanLewis-Johnson-wq6xs5 күн бұрын
Your gifted!
@Jon609876 ай бұрын
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.
@FrostNapCatАй бұрын
Never understand what the log() function does until now. Thank you very much
@guyneljean-francois41506 ай бұрын
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).
@allozovsky6 ай бұрын
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.
@adw1z6 ай бұрын
Small point: in your summations, I believe the upper limit should be x and the dummy variable as n
@sammtanX6 ай бұрын
I thought about the same thing, but would it be different for the result of the integral?
@adw1z6 ай бұрын
@@sammtanX yes same goes for the integral too, as we want it as a function of x like the LHS
@Misteribel6 ай бұрын
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.
@nothingbutmathproofs71506 ай бұрын
Very nice. At the bottom of the 2nd board I wouldn't have put an equal sign.
@PrimeNewtons6 ай бұрын
True
@JesseBusman19966 ай бұрын
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))
@PrimeNewtons6 ай бұрын
You're correct. I was blind sided by the fact that no factorial is 10^n.
@sanskarvirat28446 ай бұрын
@@PrimeNewtonsI laughed for quite a while. Good videos
@allozovsky6 ай бұрын
@@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.
@iqtrainer6 ай бұрын
@@allozovskyYeah you are just negative and meaninglessly objecting everything. You def seem to be ill
@iqtrainer6 ай бұрын
@@allozovskyYeah you are objecting again. Blah blah blah
@temporarytemporary-fh2df6 ай бұрын
Stirling formula calculates the exact number of digits and the exact frontmost digits it is super useful.
@futuregenerationinstitute96136 ай бұрын
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.
@Arkapravo6 ай бұрын
Very nice, you could have used Stirling's approximation directly
@guyneljean-francois41506 ай бұрын
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.
@Arkapravo6 ай бұрын
@@guyneljean-francois4150hmmmm.... n^n becomes the nonsense bit. I agree with you.
@allozovsky6 ай бұрын
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.
@hejjakaroly58506 ай бұрын
@@allozovsky Yes, this formula is far more accurate. I didn't find a single error up to n = 1 000 000.
@allozovsky6 ай бұрын
@@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.
@guyneljean-francois41506 ай бұрын
Based upon my first comment, to be general, the number of digits of n is equal to (1+ floor(log(n) )
@slavinojunepri76482 ай бұрын
That is correct
@RyanLewis-Johnson-wq6xs20 күн бұрын
I love math.
@liulmesfin-d5f6 ай бұрын
This is amazing. Please don't stop these videos
@davidmexicotte98623 ай бұрын
You need to start a site and sell your hats! Great channel.
@milindsarkar69616 ай бұрын
Great sir. ❤
@רובימהאנדרואיד6 ай бұрын
Amazing. May I ask? As u mentioned 5 doesn't work. Why?
@liammoore10666 ай бұрын
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.
@allozovsky6 ай бұрын
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!
@justrandomthings81586 ай бұрын
963/1000 doesn’t sound very miraculous but what do I know
@allozovsky6 ай бұрын
@@justrandomthings8158 We missed the nearest "wrong" number by 41, so we aimed well.
@liammoore10666 ай бұрын
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
@barryzeeberg3672Ай бұрын
Can you use Stirling approximation?
@KahlieNiven6 ай бұрын
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.)
@povijarrro6 ай бұрын
Nice 1000 seconds long video about 1000!
@GURPARASSINGH-sg8sv6 ай бұрын
2:48 Vsuace reference I gotchu😂😂
@Orillians6 ай бұрын
How?
@NormanicusDiabolicus6 ай бұрын
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?
@PrimeNewtons6 ай бұрын
I claimed I was using the shifted gamma function, which is continuous.
@NormanicusDiabolicus6 ай бұрын
@@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
@NormanicusDiabolicus6 ай бұрын
My replies have been deleted!!
@allozovsky6 ай бұрын
@@NormanicusDiabolicus Rather shadow banned by youtube (esp. if you comment contained a lot of digits and/or math symbols).
@allozovsky6 ай бұрын
Normally you still can find all your shadow banned comments intact in the Comments section of you youtube History.
@sammtanX6 ай бұрын
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.
@allozovsky6 ай бұрын
Hm, makes perfect sense, though.
@AMANRAJ-dt8gu25 күн бұрын
made my day. thank you
@jetstream_samm6 ай бұрын
what would you say, if there at answer was 2567.5 for example ?
@reekhilchawla31972 ай бұрын
awesome
@RyanLewis-Johnson-wq6xs4 ай бұрын
5!=120
@ironfbody22 күн бұрын
Could (should) have used Simpson's rule for the integral ?
@boguslawszostak17846 ай бұрын
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-fh2df6 ай бұрын
By doing so you'r just rewritung the stirling approx which i do prefer than using it blindly.
@antosandrasАй бұрын
This is a proof for x=n. :) Also for an incorrect (approximate) formula for log (n!).
@chivalioum6 ай бұрын
Awesome
@johnka54076 ай бұрын
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.
@PrimeNewtons6 ай бұрын
I agree
@SidneiMV6 ай бұрын
Great!
@gp-ht7ug6 ай бұрын
If you say that x! is continuous function, why don’t you use the integral of the Π(x) function for the factorial?
@vitotozzi19726 ай бұрын
Awesome!!!!
@lethalsub6 ай бұрын
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!.
@chaosredefined38346 ай бұрын
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.
@allozovsky6 ай бұрын
@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).
@chaosredefined38346 ай бұрын
@@allozovsky He should have gone from 1.5 to 5.5. That's an error on his part, but the error will be minor.
@allozovsky6 ай бұрын
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.
@chaosredefined38346 ай бұрын
@@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.
@allozovsky6 ай бұрын
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.
@RyanLewis-Johnson-wq6xs4 ай бұрын
1000! Has 2,568 digits
@robot83246 ай бұрын
Thank you !❤
@stevenshriiАй бұрын
Ln(-1)/sqrt(-1) = pi
@aminsheykh70576 ай бұрын
Your videos are amazing👍
@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.
@yaronbracha49236 ай бұрын
I liked it !
@allozovsky6 ай бұрын
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!
@PrimeNewtons6 ай бұрын
Looks like there's another adjustment to be made.
@allozovsky6 ай бұрын
@@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.
@wildfire_Ай бұрын
4!
@alexdefoc69196 ай бұрын
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
@Muralimurali-o3nАй бұрын
Only ramanujan can understand this 🥵
@RyanLewis-Johnson-wq6xs3 ай бұрын
1000! has 2,568 digits in it
@amirrozenmanmalach37716 ай бұрын
Why do you write the times 1? Does it have some reason?
@PrimeNewtons6 ай бұрын
Just a habit
@WhiteGandalfs6 ай бұрын
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
@cyrusrosales31276 ай бұрын
smart
@klementhajrullaj12226 ай бұрын
How many digits has 2^100?!
@cyberagua6 ай бұрын
But that's easy: floor[100×log(2)] + 1 = 31
@slavinojunepri76482 ай бұрын
This is true. This formula to figure out the number of digits in base 10 of any integer is easy to prove.