Seuraa 
Viestejä26805

Kokonaisluvut i ja j ovat 0,1,2...N-1. Tällöin järjestetyt parit ovat (0,0) (0,1) ...(0,N-1), (1,0), (1,1), (1,2).....(N-1,N-1). Tässä järjestyksessä lueteltujen parien järjestysluku olkoon p, jolloin parit vastaavat p:n arvoja 0,1,2,3,.....N^2-1. Tässä tapauksessa p saadaan i:n ja j:n avulla p= Ni+j ja i ja j p:n avulla: j= p mod N, i= (p-j)/N

Tämä selvä, mutta entäs jos pareille (i,j) pätee j>i, siis (0,1), (0,2)...(1,2), (1,3) .....(N-2,N-1). Tällöin sain p:n i:n ja j:n avulla lausutuksi muodossa:

p = N*i-i*(i+1)/2+j-i-1 = ((2N-3)*i-i²+2(j-1))/2

Mutta en onnistu kääntäen esittämään i:tä ja j:tä p:n (parin järjestysluvun) avulla. Lausekkeessa on varmasti modulo operaatiota, miten helvatassa kirjoitan lausekkeet?

P.S. No löysin kyllä erään vanhan QB rutiinin, jossa olenkin tuon ratkaissut, toimii oikein, mutta lausekkeet näyttävät karmeilta, heh. No jätetään sitten tämä matemaattiseksi harjoitukseksi muille, ja oishan kiva nähdä siistit lausekkeet.

3³+4³+5³=6³

Kommentit (7)

pöhl
Seuraa 
Viestejä934
JPI

Kokonaisluvut i ja j ovat 0,1,2...N-1. 

Siis mitä? Notaatio 0,1,2... tarkoittaa lukujonoa, mutta mitä tarkoittaa merkintä 0,1,2...N-1? Lukujonoa 0,1,2,...,N-1,0,0,...? Miksi merkitset yhtä kokonaislukua merkinnällä 0,1,2...N-1 ja merkitsetkö kahta kirjainta merkitsemään samaa kokonaislukua?

Notaatiot kuntoon, niin tehtävästä voisi ymmärtääkin jotain. Muuten ei tajuu mitään.

Volta
Seuraa 
Viestejä123
JPI

Kokonaisluvut i ja j ovat 0,1,2...N-1. Tällöin järjestetyt parit ovat (0,0) (0,1) ...(0,N-1), (1,0), (1,1), (1,2).....(N-1,N-1). Tässä järjestyksessä lueteltujen parien järjestysluku olkoon p, jolloin parit vastaavat p:n arvoja 0,1,2,3,.....N^2-1. Tässä tapauksessa p saadaan i:n ja j:n avulla p= Ni+j ja i ja j p:n avulla: j= p mod N, i= (p-j)/N

Tämä selvä, mutta entäs jos pareille (i,j) pätee j>i, siis (0,1), (0,2)...(1,2), (1,3) .....(N-2,N-1). Tällöin sain p:n i:n ja j:n avulla lausutuksi muodossa:

p = N*i-i*(i+1)/2+j-i-1 = ((2N-3)*i-i²+2(j-1))/2

Mutta en onnistu kääntäen esittämään i:tä ja j:tä p:n (parin järjestysluvun) avulla. Lausekkeessa on varmasti modulo operaatiota, miten helvatassa kirjoitan lausekkeet?

P.S. No löysin kyllä erään vanhan QB rutiinin, jossa olenkin tuon ratkaissut, toimii oikein, mutta lausekkeet näyttävät karmeilta, heh. No jätetään sitten tämä matemaattiseksi harjoitukseksi muille, ja oishan kiva nähdä siistit lausekkeet.

Siis toi ensimmäinen tapaus saadan myös näin:

i = floor(p/N)
j = p - N*i

ja toiseen saadaan vastaavalla idealla:

i = floor((2*N-1)/2 - 1/2 * sqrt((2*N-1)^2 - 8*p))
j = p + i^2/2 - (N-3/2)*i + 1

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
JPI
Seuraa 
Viestejä26805
Volta
JPI

Kokonaisluvut i ja j ovat 0,1,2...N-1. Tällöin järjestetyt parit ovat (0,0) (0,1) ...(0,N-1), (1,0), (1,1), (1,2).....(N-1,N-1). Tässä järjestyksessä lueteltujen parien järjestysluku olkoon p, jolloin parit vastaavat p:n arvoja 0,1,2,3,.....N^2-1. Tässä tapauksessa p saadaan i:n ja j:n avulla p= Ni+j ja i ja j p:n avulla: j= p mod N, i= (p-j)/N

Tämä selvä, mutta entäs jos pareille (i,j) pätee j>i, siis (0,1), (0,2)...(1,2), (1,3) .....(N-2,N-1). Tällöin sain p:n i:n ja j:n avulla lausutuksi muodossa:

p = N*i-i*(i+1)/2+j-i-1 = ((2N-3)*i-i²+2(j-1))/2

Mutta en onnistu kääntäen esittämään i:tä ja j:tä p:n (parin järjestysluvun) avulla. Lausekkeessa on varmasti modulo operaatiota, miten helvatassa kirjoitan lausekkeet?

P.S. No löysin kyllä erään vanhan QB rutiinin, jossa olenkin tuon ratkaissut, toimii oikein, mutta lausekkeet näyttävät karmeilta, heh. No jätetään sitten tämä matemaattiseksi harjoitukseksi muille, ja oishan kiva nähdä siistit lausekkeet.

Siis toi ensimmäinen tapaus saadan myös näin:

i = floor(p/N)
j = p - N*i

ja toiseen saadaan vastaavalla idealla:

i = floor((2*N-1)/2 - 1/2 * sqrt((2*N-1)^2 - 8*p))
j = p + i^2/2 - (N-3/2)*i + 1

Just, Ongelmaketjussa olen tuon jo esittänyt, floor funktion paikalla käytin kuitenkin INT-funktoita  =Integer part, näissä tapauksissa ne kuitenkin ovat sama asia.

3³+4³+5³=6³

Volta
Seuraa 
Viestejä123
JPI
Volta
JPI

Kokonaisluvut i ja j ovat 0,1,2...N-1. Tällöin järjestetyt parit ovat (0,0) (0,1) ...(0,N-1), (1,0), (1,1), (1,2).....(N-1,N-1). Tässä järjestyksessä lueteltujen parien järjestysluku olkoon p, jolloin parit vastaavat p:n arvoja 0,1,2,3,.....N^2-1. Tässä tapauksessa p saadaan i:n ja j:n avulla p= Ni+j ja i ja j p:n avulla: j= p mod N, i= (p-j)/N

Tämä selvä, mutta entäs jos pareille (i,j) pätee j>i, siis (0,1), (0,2)...(1,2), (1,3) .....(N-2,N-1). Tällöin sain p:n i:n ja j:n avulla lausutuksi muodossa:

p = N*i-i*(i+1)/2+j-i-1 = ((2N-3)*i-i²+2(j-1))/2

Mutta en onnistu kääntäen esittämään i:tä ja j:tä p:n (parin järjestysluvun) avulla. Lausekkeessa on varmasti modulo operaatiota, miten helvatassa kirjoitan lausekkeet?

P.S. No löysin kyllä erään vanhan QB rutiinin, jossa olenkin tuon ratkaissut, toimii oikein, mutta lausekkeet näyttävät karmeilta, heh. No jätetään sitten tämä matemaattiseksi harjoitukseksi muille, ja oishan kiva nähdä siistit lausekkeet.

Siis toi ensimmäinen tapaus saadan myös näin:

i = floor(p/N)
j = p - N*i

ja toiseen saadaan vastaavalla idealla:

i = floor((2*N-1)/2 - 1/2 * sqrt((2*N-1)^2 - 8*p))
j = p + i^2/2 - (N-3/2)*i + 1

Just, Ongelmaketjussa olen tuon jo esittänyt, floor funktion paikalla käytin kuitenkin INT-funktoita  =Integer part, näissä tapauksissa ne kuitenkin ovat sama asia.

Joo, tämä ratkaisu on kyllä aika ilmiselvä. Mutta mielenkiintoista on, että saako tuon jälkimmäisen esitettyä ilman floor-funktiota (tai int-funktiota) käyttäen moduloja.

pöhl
Seuraa 
Viestejä934
Volta

Joo, tämä ratkaisu on kyllä aika ilmiselvä. Mutta mielenkiintoista on, että saako tuon jälkimmäisen esitettyä ilman floor-funktiota (tai int-funktiota) käyttäen moduloja.

Yleensä kai laskimissa määritellään m mod n=m-n*floor(m,n), josta floor(m,n)=(m-m mod n)/n.

Volta
Seuraa 
Viestejä123
Puuhikki
Volta

Joo, tämä ratkaisu on kyllä aika ilmiselvä. Mutta mielenkiintoista on, että saako tuon jälkimmäisen esitettyä ilman floor-funktiota (tai int-funktiota) käyttäen moduloja.

Yleensä kai laskimissa määritellään m mod n=m-n*floor(m,n), josta floor(m,n)=(m-m mod n)/n.

Juu, mutta olisi hienoa jos tarvittaisiin ainoastaan kokonaisluku-moduloa, nyt tuo neliöjuuri sotkee sen.

JPI
Seuraa 
Viestejä26805
Volta
Puuhikki
Volta

Joo, tämä ratkaisu on kyllä aika ilmiselvä. Mutta mielenkiintoista on, että saako tuon jälkimmäisen esitettyä ilman floor-funktiota (tai int-funktiota) käyttäen moduloja.

Yleensä kai laskimissa määritellään m mod n=m-n*floor(m,n), josta floor(m,n)=(m-m mod n)/n.

Juu, mutta olisi hienoa jos tarvittaisiin ainoastaan kokonaisluku-moduloa, nyt tuo neliöjuuri sotkee sen.

Jep, juuri tuollaista n =f(i,j) ja kääntäen i = g(n), j=h(n), missä ei esiinny irrationaalifunktioita, alunperin yritinkin etsiä. Siis g ja h olisivat polynomeja tai polynomien osamääriä. Löytyykö ollenkaan käänteistä kuvausta kuvaukselle n -> (i,j), missä ei esim. neliöjuurta tarvita. Yksi melkein sellainen olisi n=Ni+j, jolle kääntäen j= n mod N, i= (n-j)/n, mutta tuossa on tuo "ikävä" apumuuttuja N.

3³+4³+5³=6³

Suosituimmat

Uusimmat

Sisältö jatkuu mainoksen alla

Uusimmat

Suosituimmat