10 ms·
1/999999999999999999999998999999999999999999999999
- deleted 11y ago[deleted]
- pkfrank 11y agoI feel like this would make infinitely more sense to me if not for that singular "8" hiding close to the middle. Can anyone ELI5 what's going on here?
- andrewstuart2 11y agoI may be wrong, but I believe it's some sort of math. Or wizardry.
- conistonwater 11y agoThe generating function for Fibonacci numbers is x/(1-x-x^2) = \sum_{n\geq0} F_n x^n, so you just let x = 1e-24. In this case it's x^2/(1-x-x^2) to make the fraction come out with numerator 1.
- userbinator 11y agoYou can see the pattern with smaller fractions too: 1/89 = 0.0 1 1 2 3 5... 1/9899 = 0.00 01 01 02 03 05 08 13 21 34 55... 1/998999 = 0.001 002 003 005 008 013 021 034 055 089...
- 0x0 11y agoPlease, leave the reddit jargon by the door.
- nothrabannosir 11y agoYes, and hurray for ad hominems, right? Why discredit the "eli5", just because it's from Reddit? What if it's a useful method to convey what you mean? We just can't use it now, because it's from Reddit?
- jklein11 11y agoI like where your head is at but I'm not sure this is an ad hominem. My understanding is that an ad hominem is an attack on a persons character[1] [1]https://en.wikipedia.org/wiki/Ad_hominem https://en.wikipedia.org/wiki/Ad_hominem
- nothrabannosir 11y agoThanks. The ad hominem is a counter-argument; you're discrediting an argument based on a person's character. So "jack is an idiot" is not an ad hominem; "that can't be true, because jack says it, and he's an idiot" is. I thought the guy meant: "I don't like it because it's from reddit." But ikeboy has it right: in this case, because reddit is not a person, it's a genetic fallacy, not an ad hominem. Which I didn't even know existed. And, of course, he didn't say that it was because of reddit, so it wasn't even that :)
- ikeboy 11y agoThe concept you're looking for is the https://en.wikipedia.org/wiki/Genetic_fallacy https://en.wikipedia.org/wiki/Genetic_fallacy, a broader form of ad hominem. Also, they didn't say it's bad because it's from reddit, the statement could be interpreted as saying that it's bad, and also that it's from reddit. Imagine http://laurencetennant.com/bonds/adhominem.html http://laurencetennant.com/bonds/adhominem.html applied to the genetic fallacy, and you'll see what I mean.
- oldmanjay 11y ago
- mineshaftgap 11y agoThis explains it well. http://www.quora.com/Which-is-the-Fibonacci-inverse-number http://www.quora.com/Which-is-the-Fibonacci-inverse-number
- svat 11y agoShort answer: the denominator is (10^48 - 10^24 - 1). Long answer follows. It's actually easier to understand if you work backwards and arrive at the expression yourself, by asking yourself: "If I wanted the number that starts like 0.0...000 0...001 0...001 0...002 0...003 0...005 0...008 ... (with each block being 24 digits long), how would I express that number?" Well, calling the Fibonacci numbers f_n (with f_1=0), that decimal expansion you want is sum (f_n 10^(-24n)) over n≥1. This is sum (f_n x^n) evaluated at x = 10^(-24). It is easy to work out (especially if you know the trick already) that sum (f_n x^n) = x^2 / (1 - x - x^2), which at x = 10^(-24) gives that the number we want is 1/(10^48 - 10^24 - 1), which is exactly what 1/999999999999999999999998999999999999999999999999 is. This may be more interesting if you consider more examples: * if we want the number 0 . 0001 0002 0004 0008 0016 0032 0064 0128..., then it is sum (2^(n-1) 10000^(-n)). We can calculate that sum(2^(n-1) x^n) is x/(1-2x), which at x = 1/10000 becomes 1/9998. And indeed 1/9998 = 0.0001000200040008001600320064012802560512102420484096... Similarly, * if we want the number 0 . 000 001 002 003 004 005 ..., then it is sum ((n-1) 1000^(-n)). And sum ((n-1) x^n) is x^2/(1-x)^2, and putting x = 1/1000 in it gives 1/999^2 = 1/998001, and indeed 1/998001 = 0.000001002003004005006007008009010011012013014015016... Basically whenever sum (a_n x^n) has a nice form (aka the generating function of the sequence), you can plug in x = 1/(some power of 10) and get such pretty decimal expansions. (Edit: Formatting, and the "short answer" at the top.)
- bglazer 11y agoThis is a great response. Thanks for taking the time to write this.
- deleted 11y ago[deleted]
- ghosthamlet 11y agoare you a master of math?
- username3 11y agoIs any of this useful for compression?
- 11y ago
- aseem 11y agoThis would be fun response to the usual interview white boarding question.
- signa11 11y ago> This would be fun response to the usual interview white boarding question. i don't really understand what you mean here. may you please elaborate ? thanks !
- itsadok 11y agoA common warm up question in a coding interview is to write (on the whiteboard) a program that prints the Fibonacci numbers in sequence. Arguably, you can write this fraction and claim this answers the question, though I don't know any programming language where this would actually work without a bunch of more code around it. Edit: other comments have examples in Python, Clojure and bc.
- signa11 11y ago> This would be fun response to the usual interview white boarding question. i don't really understand what you mean here. may you please elaborate ? thanks !
- djent 11y agoThere's no way I'd get a job if they asked me to express the Fibonacci sequence in a series of 24 digit blah blah blah as a fraction.
- olog-hai 11y ago"Divide the number 999,999,999,999,999,999,999,998,999,999,999,999,999,999,999,999 into 1" Isn't this poor wording? The author is dividing 1 by the large number above, not the other way around.
- cmaggard 11y agoI've seen it both ways- "Divide four by two" is equivalent to "Divide two into four" in my experience.
- userbinator 11y agoReally? I've always read "divide by" and "divide into" as meaning the exact same thing: "Divide four by two" = 4/2 = 2 "Divide two into four" = 2/4 = 1/2 Could this be a US/UK English difference?
- moron4hire 11y agoIt comes from "how many times does 2 go into 4", which is "4/2".
- Tycho 11y agoI think this phrasing is less confusing when it refers to labels rather than actual numerals. For instance 'divide the price into the exchange rate', which would mean the same as 'divide the exchange rate by the price'. Why would you use this phrasing? I suppose it can flow more easily in some cases, for instance 'first work out X, then work out Y, then divide them both into Z and see which one is larger' is less of a mouthful than the alternative.
- Stratoscope 11y agoPerhaps it is some kind of regional difference. I've always lived on the US West Coast, and I've heard "divide four by two" expressed as "divide two into four" many times - and never the other way around. I never use the "into" phrasing myself because it is confusing to me. But it does make some kind of sense if you think about it this way: "How many twos can you put into four?"
- kevando 11y agoI feel like if I posted this to facebook, I would lose at least 1 friend.
- dmvaldman 11y agoa friend not worth having!
- hathawsh 11y agoPython can perform a similar calculation using large integers: 10 ** (24 * 116) / 999999999999999999999998999999999999999999999999 Very cool math.
- bigethan 11y agonot nearly as cool, but in 8th grade I enjoyed: 987654312 / 123456789 = 8
- GhotiFish 11y agoIT WORKS! Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. scale=24*20 1/999999999999999999999998999999999999999999999999 .0000000000000000000000000000000000000000000000010000000000000000000\ 00001000000000000000000000002000000000000000000000003000000000000000\ 00000000500000000000000000000000800000000000000000000001300000000000\ 00000000000210000000000000000000000340000000000000000000000550000000\ 00000000000000089000000000000000000000144000000000000000000000233000\ 00000000000000000037700000000000000000000061000000000000000000000098\ 70000000000000000000015970000000000000000000025840000000000000000000\ 04181 Don't know how.
- cliftonk 11y agoVery cool. https://gist.github.com/clifton/97f8a862a590c15e1785 https://gist.github.com/clifton/97f8a862a590c15e1785
- boxfire 11y ago> echo 'scale=500-1;10/(10^20-10^10-1)' | BC_LINE_LENGTH=12 bc will give you the ten digit ones, with the last digit rounded up on the very end. I havent quite got an exact formula for scale before the rounding is wrong, e.g. for 100 digits: > echo 'scale=50000-2000-1;10/(10^200-10^100-1)' | BC_LINE_LENGTH=102 bc
- discardorama 11y agoWhy not just use scale=499 instead of scale=500-1 ? I'm curious.
- boxfire 11y agoOriginally in my terminal I was experimenting to find a cutoff for the point where the numbers become inaccurate. All of those formulas were in terms of digits and had a -1 on the end.
- Trufa 11y agoWhat is going on with the quality of the comments in this thread?
- AdieuToLogic 11y agoSIGFPE: floating-point exception :-)
- Crito 11y agoReddit is extremely unpopular here; mentioning it is a good way to start a flamewar. Can't say I've seen many flamewars about HN on reddit though.
- mariusz331 11y agoInteresting. Something I didn't realize: for n > 4, F(n) = F(n-2) * 3 - F(n-4) fibonacci sequence is defined as: F(n) = F(n-1) + F(n-2) substitute F(n-1) with F(n-2) + F(n-3): F(n) = F(n-2) + F(n-3) + F(n-2) substitute F(n-3) with F(n-4) + F(n-5): F(n) = F(n-2) + F(n-5) + F(n-4) + F(n-2) substitute F(n-4) with F(n-2) - F(n-3): F(n) = F(n-2) + F(n-5) + F(n-2) - F(n-3) + F(n-2) simplify: F(n) = 3 * F(n-2) + F(n-5) - F(n-3) because F(n-3) = F(n-4) + F(n-5), -F(n-4) = F(n-5)) - F(n-3): F(n) = 3 * F(n-2) - F(n-4)
- deleted 11y ago[deleted]
- mjg4775 11y agomathematica: http://pastebin.com/GfNG8bLU http://pastebin.com/GfNG8bLU
- mjg4775 11y agomathematica: http://pastebin.com/GfNG8bLU http://pastebin.com/GfNG8bLU
- Shivetya 11y agowhile not city specific we have the Silver Comet trail here in Georgia, follows old rail road tracks http://www.silvercometga.com/ http://www.silvercometga.com/
- bsmith 11y agoYou've got the wrong thread, I'm afraid.
- deleted 11y ago[deleted]
- Mandatum 11y agoTried it in Windows cmd: > C:\Users\X>set /a result=1/2147483647 > 0 > C:\Users\X>set /a result=1/2147483648 > Invalid number. Numbers are limited to 32-bits of precision.
- sonabinu 11y agoAwesome!
- bbcbasic 11y agoThe sequence popping out of 'nowehere' like this reminds me of a upenn cis194 Haskell homework* Fib sequence can be expressed as: F(x) = x / (1 − x − x^2) where x is an infinite stream of 0,1,0,0,0.... and with sane definitions of divide, add, multiply, subtract for these streams. * http://www.seas.upenn.edu/~cis194/spring13/hw/06-laziness.pdf http://www.seas.upenn.edu/~cis194/spring13/hw/06-laziness.pd.... Ex 6
- easymovet 11y agomostly works in wolfram: http://www.wolframalpha.com/input/?i=1%2F999999999999999999999998999999999999999999999999 http://www.wolframalpha.com/input/?i=1%2F9999999999999999999...
- curiously 11y agoIt seems like day by day the stories being posted on HN more and more resembles something like reddit, and by that I mean stories like this are just so minimal in value and more geared towards self promotion
- chris_wot 11y agoDid you just come from Reddit to tell us that?
- zarndawg 11y agoMaybe a dumb question...so I wrote out the derivation for the generating function and am of course getting x/1-x-x^2. Is the idea just that multiplying through by x just shifts the generating function so you end up with the generating function for f(n)x^(n+1)? Which still gives the resulting decimal expansion?