🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.matematyka
12 messages
12 total messages Started by EMET Sun, 28 Mar 2010 10:05
Znaleźć bez użycia tablic
#12219
Author: EMET
Date: Sun, 28 Mar 2010 10:05
12 lines
1526 bytes
Jak bez żmudnego przepatrywania tablic
znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
której/ych/ pierwiastek 2-go stopnia
da w rozwinięciu dziesiętnym po przecinku
cyfry w następującej po sobie kolejności: 83262?
Czyli: dana liczba całkowita do potęgi 1/2 daje
jakąś wartość taką, gdzie po przecinku znajdą się
cyfry w kolejności: 83262.
a,83262


Stephanos 
Re: Znaleźć bez użycia tablic
#12220
Author: WuKa
Date: Sun, 28 Mar 2010 15:56
22 lines
2032 bytes
Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał w wiadomości 
news:honaav$g1m$1@nemesis.news.neostrada.pl...
> Jak bez żmudnego przepatrywania tablic
> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
> której/ych/ pierwiastek 2-go stopnia
> da w rozwinięciu dziesiętnym po przecinku
> cyfry w następującej po sobie kolejności: 83262?
> Czyli: dana liczba całkowita do potęgi 1/2 daje
> jakąś wartość taką, gdzie po przecinku znajdą się
> cyfry w kolejności: 83262.
> a,83262
> >
> Stephanos
Nie wiem, czy dobrze zrozumiałem niejasny zapis z tymi "/", ale wygląda na 
to, że szukasz liczby całkowitej k takiej, by sqrt(k)=(a),83262, czyli 
k=((a),83262)^2.
Jak widzisz, k<=0 nie wchodzą w rachubę, czyli zostają k naturalne. Jak 
sądzisz, czy są takie liczby naturalne k, które byłyby kwadratami liczby 
((a),83262), gdzie "a" mogłoby być którąkolwiek liczbą całkowitą, bo 
przecież niecałkowita nie może tu wchodzić w rachubę?

WuKa 
Re: Znaleźć bez użycia tablic
#12221
Author: EMET
Date: Sun, 28 Mar 2010 18:21
34 lines
2527 bytes
Użytkownik "WuKa" <wlkala@op.pl> napisał w wiadomości 
news:honu6d$fm9$1@news2.ipartners.pl...
> Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał w wiadomości 
> news:honaav$g1m$1@nemesis.news.neostrada.pl...
>> Jak bez żmudnego przepatrywania tablic
>> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
>> której/ych/ pierwiastek 2-go stopnia
>> da w rozwinięciu dziesiętnym po przecinku
>> cyfry w następującej po sobie kolejności: 83262?
>> Czyli: dana liczba całkowita do potęgi 1/2 daje
>> jakąś wartość taką, gdzie po przecinku znajdą się
>> cyfry w kolejności: 83262.
>> a,83262
>> >
>> Stephanos
> Nie wiem, czy dobrze zrozumiałem niejasny zapis z tymi "/", ale wygląda na 
> to, że szukasz liczby całkowitej k takiej, by sqrt(k)=(a),83262, czyli 
> k=((a),83262)^2.
> Jak widzisz, k<=0 nie wchodzą w rachubę, czyli zostają k naturalne. Jak 
> sądzisz, czy są takie liczby naturalne k, które byłyby kwadratami liczby 
> ((a),83262), gdzie "a" mogłoby być którąkolwiek liczbą całkowitą, bo 
> przecież niecałkowita nie może tu wchodzić w rachubę?
>
> WuKa


Uściślę --
"Początkowe cyfry" po przecinku są takie, jak podałem;
czyli początkowe pięć cyfr to: 83262.
Np. 62^(1/2) = 7,8740078...
97^(1/2) = 9,84885...

Stephanos 
Re: Znaleźć bez użycia tablic
#12222
Author: bartekltg
Date: Sun, 28 Mar 2010 23:18
47 lines
2791 bytes
On 28 Mar, 20:21, "EMET" <stepha...@poczta.onet.pl> wrote:
> Użytkownik "WuKa" <wlk...@op.pl> napisał w wiadomościnews:honu6d$fm9$1@news2.ipartners.pl...
>
>
>
> > Użytkownik "EMET" <stepha...@poczta.onet.pl> napisał w wiadomości
> >news:honaav$g1m$1@nemesis.news.neostrada.pl...
> >> Jak bez żmudnego przepatrywania tablic

Brutalna sila komputera;)


                     64431           253.83262201695
                    237006          486.832620106747
                    239936          489.832624474932
                    242884          492.832628789937
                    522487          722.832622396084
                    526833          725.832625334519
                    531197          728.832628248763
                    913616          955.832621330743
                    919360           958.83262355846
                    925122          961.832625772281
                    930902          964.832627972334

Bez zbytniego wysilania sie,
x=1:1000000; s=sqrt(x);s=s-floor(s);find( s>=0.83262 & s<0.83263   )'
liczy niecala sekunde.

Jak to zrobic sprytniej?
Odwroc zagadnienie.
(a+r)^2 ma byc calkowita.
czyli 2a*r+r^2 ma byc calkowita.
gdzie r w przedziale [0.83262 0.83263)

Przerzucasz r^2 na druga strone,
2*a*r = c-r^2 ~    0.306727 .. 0.306743
Szukasz wiec takiej liczby, ktora przemnozona przez 2r
da wspomniana koncowke.

Jest to prostrze, ale nie wiem jak to liczc, aby miec pewnosc,
ze nie pominie sie zadnych liczb.

pozdrawiam
bartekltg

pozdrawiam
bartekltg
Re: Znaleźć bez użycia tablic
#12227
Author: Maciej Woźniak
Date: Mon, 29 Mar 2010 06:23
16 lines
1586 bytes
Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał w wiadomości 
news:honaav$g1m$1@nemesis.news.neostrada.pl...
> Jak bez żmudnego przepatrywania tablic
> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
> której/ych/ pierwiastek 2-go stopnia
> da w rozwinięciu dziesiętnym po przecinku
> cyfry w następującej po sobie kolejności: 83262?
> Czyli: dana liczba całkowita do potęgi 1/2 daje
> jakąś wartość taką, gdzie po przecinku znajdą się
> cyfry w kolejności: 83262.
> a,83262

(a+0.83262)^2=a^2+2*a*0.83262+0.83262^2.
Czyli, szukasz takich a, żeby 2*a*0.83262+0.83262^2 było w
przybliżeniu liczbą naturalną. 
Re: Znaleźć bez użycia tablic
#12228
Author: Maciek
Date: Mon, 29 Mar 2010 08:41
26 lines
1671 bytes
Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał
w wiadomości news:honaav$g1m$1@nemesis.news.neostrada.pl...
> Jak bez żmudnego przepatrywania tablic
> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
> której/ych/ pierwiastek 2-go stopnia
> da w rozwinięciu dziesiętnym po przecinku
> cyfry w następującej po sobie kolejności: 83262?
> Czyli: dana liczba całkowita do potęgi 1/2 daje
> jakąś wartość taką, gdzie po przecinku znajdą się
> cyfry w kolejności: 83262.
> a,83262
>
>
> Stephanos


Wg kalkulatora Windows:

sqrt(   2500083263) =  50000,83262306...
sqrt(   3600099916) =  60000,83262755...
sqrt(   4900116568) =  70000,83262361...
sqrt( 490001165669) = 700000,83262021...


Maciek 
Re: Znaleźć bez użycia tablic
#12229
Author: EMET
Date: Mon, 29 Mar 2010 10:48
34 lines
2175 bytes
Użytkownik "Maciek" <maciek@elkomtech.com.pl.nospam> napisał w wiadomości 
news:hopp3j$ifc$1@opal.futuro.pl...
>
> Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał
> w wiadomości news:honaav$g1m$1@nemesis.news.neostrada.pl...
>> Jak bez żmudnego przepatrywania tablic
>> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
>> której/ych/ pierwiastek 2-go stopnia
>> da w rozwinięciu dziesiętnym po przecinku
>> cyfry w następującej po sobie kolejności: 83262?
>> Czyli: dana liczba całkowita do potęgi 1/2 daje
>> jakąś wartość taką, gdzie po przecinku znajdą się
>> cyfry w kolejności: 83262.
>> a,83262
>>
>>
>> Stephanos
>
>
> Wg kalkulatora Windows:
>
> sqrt(   2500083263) =  50000,83262306...
> sqrt(   3600099916) =  60000,83262755...
> sqrt(   4900116568) =  70000,83262361...
> sqrt( 490001165669) = 700000,83262021...
>
>
> Maciek


Dziękuję Wam.

Stephanos 
Re: Znaleźć bez użycia tablic
#12230
Author: Maciek
Date: Mon, 29 Mar 2010 13:02
66 lines
3157 bytes
Użytkownik "Maciek" <maciek@elkomtech.com.pl.nospam>
napisał w wiadomości news:hopp3j$ifc$1@opal.futuro.pl...
>
> Użytkownik "EMET" <stephanos@poczta.onet.pl> napisał
> w wiadomości news:honaav$g1m$1@nemesis.news.neostrada.pl...
>> Jak bez żmudnego przepatrywania tablic
>> znaleźć liczbę - liczby *całkowitą/e/* taką/ie/,
>> której/ych/ pierwiastek 2-go stopnia
>> da w rozwinięciu dziesiętnym po przecinku
>> cyfry w następującej po sobie kolejności: 83262?
>> Czyli: dana liczba całkowita do potęgi 1/2 daje
>> jakąś wartość taką, gdzie po przecinku znajdą się
>> cyfry w kolejności: 83262.
>> a,83262
>>
>>
>> Stephanos
>
>
> Wg kalkulatora Windows:
>
> sqrt(   2500083263) =  50000,83262306...
> sqrt(   3600099916) =  60000,83262755...
> sqrt(   4900116568) =  70000,83262361...
> sqrt( 490001165669) = 700000,83262021...

Wyszło mi to tak.

Szukamy liczb naturalnych n,k:
    sqrt(n) = k + 83262/100000 + epsilon
przy czym 0 \< epsilon < 1/10000.

To samo inaczej:
     k + 83262/100000 \< sqrt(n) < k + 83262/100000 + 1/10000
i podnosząc stronami do kwadratu:
     (k + 83262/100000)^2 \< n < (k + 83263/100000)^2  [*]

Wystarczającym (acz nie koniecznym) warunkiem na spełnienie
tej nierówności jest, by lewe i prawe wyrażenie różniły się
co najmniej o jedność:
    (k + 83263/100000)^2 - (k + 83262/100000)^2 >/ 1

Zastępujemy różnicę kwadratów iloczynem różnicy i sumy:
    ((k + 83263/100000) - (k + 83262/100000)) *
        ((k + 83263/100000) + (k + 83262/100000)) >/ 1

    (1/100000) * (2k + 166525/100000) >/ 1
    2k + 166525/100000 >/ 100000
    2k >/ 99998,33475
    k >/ 49999,167375

No i mamy, że dla liczby naturalnej k = 50000 i każdej
większej istnieje (co najmniej jedna) liczba n, której
pierwiastek kwadratowy jest postaci zadanej i ma część
całkowitą k.

Ową n można znaleźć jako \ceil( (k + 83262/100000)^2 ).


OCZYWIŚCIE jest też wiele liczb mniejszych, spełniających
warunki zadania - lewa i prawa strona nierówności [*]
nie muszą różnić się aż o 1, aby jakaś liczba całkowita
pomiędzy nimi się znalazła...

Maciek
Re: Znaleźć bez użycia tablic
#12223
Author: Mirek
Date: Mon, 29 Mar 2010 13:31
32 lines
2080 bytes
On pon, 29 mar 2010 01:18:20 in article news:<1944d998-daf3-4ee8-b410-35eca32d15e9@q23g2000yqd.googlegroups.com>
bartekltg wrote:
> Bez zbytniego wysilania sie,
> x=1:1000000; s=sqrt(x);s=s-floor(s);find( s>=0.83262 & s<0.83263   )'
> liczy niecala sekunde.
> 
> Jak to zrobic sprytniej?
> Odwroc zagadnienie.
> (a+r)^2 ma byc calkowita.
> czyli 2a*r+r^2 ma byc calkowita.
> gdzie r w przedziale [0.83262 0.83263)
[...]
Korzystając z tej zależności otrzymamy wyniki znacznie szybciej,
bo przejrzymy sqrt(n) liczb:

Oznaczmy: r1=0.83262;r2=0.83263; 

a=1:10000; x=floor((a+r2).^2);
s=sqrt(x);s=s-floor(s);y2=x(find( s>=r1 & s<r2   ))

> Jest to prostrze, ale nie wiem jak to liczc, aby miec pewnosc,
> ze nie pominie sie zadnych liczb.

Ponieważ żadna z liczb x1=(a+r1)^2 i x2=(a+r2)^2 nie jest
całkowita, to warunkiem koniecznym (a może wystarczającym???)
jest

    floor(x1)<floor(x2)

Nie chce mi się zastanawiać, ale wydaje mi się (z testów
numerycznych), że dla dużych wartości (granicy nie jestem
pewien) liczb "a" wszystkie wyniki spełniają warunki zadania.
Re: Znaleźć bez użycia tablic
#12224
Author: Boguś
Date: Mon, 29 Mar 2010 22:16
51 lines
3214 bytes
Mirek napisał:

>> Jak to zrobic sprytniej?
>> Odwroc zagadnienie.
>> (a+r)^2 ma byc calkowita.
>> czyli 2a*r+r^2 ma byc calkowita.
>> gdzie r w przedziale [0.83262 0.83263)
> [...]
> Korzystając z tej zależności otrzymamy wyniki znacznie szybciej,
> bo przejrzymy sqrt(n) liczb:
>
> Oznaczmy: r1=0.83262;r2=0.83263;
>
> a=1:10000; x=floor((a+r2).^2);
> s=sqrt(x);s=s-floor(s);y2=x(find( s>=r1&  s<r2   ))

OK. Można trochę krócej napisać wykorzystując to co napisałeś poniżej.
//uwaga techniczna - dobrze obok algorytmu napisać w jakim programie to napisano//

> Ponieważ żadna z liczb x1=(a+r1)^2 i x2=(a+r2)^2 nie jest
> całkowita, to warunkiem koniecznym (a może wystarczającym???)
> jest
>
>      floor(x1)<floor(x2)

Jest to warunek konieczny i wystarczający dla 'a' ale nie wystarczający dla 'n'.
Jeżeli oznaczymy n1=floor(x1) i n2=floor(x2) to wszystkie 'n w przedziale 
{n1+1,n1+2,...,n2-1,n2) spełniają warunek
    r1 < fraction(sqrt(n)) < r2

Najmniejsza wartość 'a' dla którego n2-n1=2 ->
   a = 50253 n= (2525447693 , 2525447694)
Najmniejsza wartość 'a' dla którego n2-n1=3 ->
   a = 100253 n= (10050830955 ,10050830956 , 10050830957)
dla porównania :najmniejsza wartość 'a' dla którego n2-n1=1 ->
   a = 253 n= (64431)
i wszytko jasne !


> Nie chce mi się zastanawiać, ale wydaje mi się (z testów
> numerycznych), że dla dużych wartości (granicy nie jestem
> pewien) liczb "a" wszystkie wyniki spełniają warunki zadania.

Tak. To bardzo ładnie pokazał Maciek.
Od a=49785 wszystkie kolejne wartości dają stopniowo coraz więcej rozwiązań 'n'
( dla a=10^6 jest 20 wartości n)

Problem mało ciekawy , bo.. bardzo przewidywalny.

-- 
  Boguś
Re: Znaleźć bez użycia tablic
#12225
Author: Mirek
Date: Tue, 30 Mar 2010 12:31
35 lines
1912 bytes
On wto, 30 mar 2010 00:16:23 in article news:<hor9ho$bi3$1@nemesis.news.neostrada.pl>
Boguś wrote:
>> Ponieważ żadna z liczb x1=(a+r1)^2 i x2=(a+r2)^2 nie jest
>> całkowita, to warunkiem koniecznym (a może wystarczającym???)
>> jest
>>
>>      floor(x1)<floor(x2)
> 
> Jest to warunek konieczny i wystarczający dla 'a' ale nie wystarczający dla 'n'.
> Jeżeli oznaczymy n1=floor(x1) i n2=floor(x2) to wszystkie 'n w przedziale 
> {n1+1,n1+2,...,n2-1,n2) spełniają warunek
>    r1 < fraction(sqrt(n)) < r2
> 
> Najmniejsza wartość 'a' dla którego n2-n1=2 ->
>   a = 50253 n= (2525447693 , 2525447694)

Masz rację
 a    n2-n1
[253, 1]
[50253, 2]
[100253, 3]
[150253, 4]
[200253, 5]
[250253, 6]
[300253, 7]
[350253, 8]
[400253, 9]
[450253, 10]
...
[950253, 20]
[1450253, 30]
[4950253, 100]
[9950253, 200]

Magia liczby 253 ;)
Re: Znaleźć bez użycia tablic
#12226
Author: Boguś
Date: Tue, 30 Mar 2010 14:46
33 lines
2185 bytes
Mirek napisał:

>> Najmniejsza wartość 'a' dla którego n2-n1=2 ->
>>    a = 50253 n= (2525447693 , 2525447694)
>
> Masz rację
>   a    n2-n1
> [253, 1]
> [50253, 2]
> [100253, 3]
> [150253, 4]
> [4950253, 100]
> [9950253, 200]
> ...........
> Magia liczby 253 ;)

Nie. To zwykła matematyka ;)
Tak zachowuje się nie tylko 253 ale również wszystkie kolejne 486, 489, 722, 725 itd

bo
  (a+r)^2 = a^2 + 2 a r + r^2 czyli szukamy całkowitej wartości
    2 a r + r^2  dla  r1 < r < r2 i znajdujemy dla a=253,486,...

a teraz powiększamy 'a' o 50000k
  (a +50000 k + r)^2 = (a+5000k)^2 + 2r(a+50000k) + r^2 =

  = (a+50000k)^2 + 100000 k r + 2a r + r^2

r1 i r2 były z dokładnością do 10^-5 i wszystko jasne ( lub dla niektórych prawie wszystko 
bo są jeszcze niuanse)

-- 
  Boguś
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads