http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a
sprawdzał ktoś do ilu to się zgadza? :P
http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a
sprawdzał ktoś do ilu to się zgadza? :P
import java.math.*;
public class B
{
public static void main(String[] args)
{
BigDecimal licznik=BigDecimal.ONE;
BigDecimal mianownik=new BigDecimal(998001);
MathContext mc=new MathContext(2000);
BigDecimal wynik=licznik.divide(mianownik,mc);
System.out.println(wynik);
}
}
0.000001002003004005006007008009010011012013014015016017018019020021022023024025
02602702802903003103203303403503603703803904004104204304404504604704804905005105
20530540550560570580590600610620630640650660670680690700710720730740750760770780
79080081082083084085086087088089090091092093094095096097098099100101102103104105
10610710810911011111211311411511611711811912012112212312412512612712812913013113
21331341351361371381391401411421431441451461471481491501511521531541551561571581
59160161162163164165166167168169170171172173174175176177178179180181182183184185
18618718818919019119219319419519619719819920020120220320420520620720820921021121
22132142152162172182192202212222232242252262272282292302312322332342352362372382
39240241242243244245246247248249250251252253254255256257258259260261262263264265
26626726826927027127227327427527627727827928028128228328428528628728828929029129
22932942952962972982993003013023033043053063073083093103113123133143153163173183
19320321322323324325326327328329330331332333334335336337338339340341342343344345
34634734834935035135235335435535635735835936036136236336436536636736836937037137
23733743753763773783793803813823833843853863873883893903913923933943953963973983
99400401402403404405406407408409410411412413414415416417418419420421422423424425
42642742842943043143243343443543643743843944044144244344444544644744844945045145
24534544554564574584594604614624634644654664674684694704714724734744754764774784
79480481482483484485486487488489490491492493494495496497498499500501502503504505
50650750850951051151251351451551651751851952052152252352452552652752852953053153
25335345355365375385395405415425435445455465475485495505515525535545555565575585
59560561562563564565566567568569570571572573574575576577578579580581582583584585
58658758858959059159259359459559659759859960060160260360460560660760860961061161
26136146156166176186196206216226236246256266276286296306316326336346356366376386
39640641642643644645646647648649650651652653654655656657658659660661662663664665
6666677
Co ciekawe, to działa (częściowo, podobnie jak ten przykład) również dla dzielników:
Słusznie podejrzewasz, wystarczy wyświetlić troszkę ponad 40 tys. cyfr.
mianownik=new BigDecimal(99980001);
mc=new MathContext(40000);
wynik=licznik.divide(mianownik,mc);
System.out.println(wynik);
Ja zażyczyłem sobie równe 40 tys. cyfr. Starczyło, bo java wyświetliła liczbę w postaci 1.000...*10-8
@rincewind
Rozpatrzmy (1/99)^2 czyli 1/9801.
Mamy kwadrat 0.0101010101010101010101010101010101(01), czyli rozpisując to na dodawanie:
0.00010101010101010101010101010101010101... +
0.00000101010101010101010101010101010101... +
0.00000001010101010101010101010101010101... +
0.00000000010101010101010101010101010101... +
0.00000000000101010101010101010101010101... +
0.00000000000001010101010101010101010101... +
....
0.00010203040506070809101112131415161718...
Jak dojdzie w tych dwucyfrowych sumach do więcej niż 100, to poprzednie są zwiększane o jeden, czyli po 200 cyfrach 00->01, 01->02 itd. czyli też zmienia się 99->00 i przez to 98->99 gdzie to zwiększanie się kończy. Dla tego 98 nie ma w rozwinięciu.
Niezbyt matematyczne wytłumaczenie, ale ja to tak zrozumiałem.
Edit: głupi błąd
Odkopuję, bo znalazłem bardzo ładne i łopatologiczne wytłumaczenie:
Inna ciekawa sztuczka. Mnożenie przez 52, najlepiej liczby parzyste <=48 . Wyjaśnienie bardzo proste i pozostawiam je wam.
wystarczy odjąć od jedności żeby odliczać w dół:
1 - 1/998001 = 0,999998997996995994993992...
nie sprawdzałem co się dzieje na końcu.
> ##### othello napisał(a)
> Mnożenie przez 52, najlepiej liczby parzyste <=48
możesz oświecić? bo ja nie widzę nic nadzwyczajnego
![user image](http://wswiktor.fm.interia.pl/4p/n52.png)
możesz oświecić? bo ja nie widzę nic nadzwyczajnego
Przyjrzyj sie uważnie:
4452 = 2288
44/2 = 22
44 2 = 88
2 pierwsze i 2 ostatnie cyfry wyniku
Tytuł wątku:
Dzielenie przez 1/998001
prościej chyba będzie
Mnożenie przez 998001
<b=zapach trolla o poranku></b>