Kuinka tehdään ohjelma, joka tulostaa suuruusjärjestyksessä sellaisia lukuja, joiden numerot ovat suuruusjärjestyksessä suurin ensin? Siis tulostu alkaa
1
2
3
4
5
6
7
8
9
10
11
20
21
22
...
Tiedän, että tuon voi tehdä rekursiivisesti siten, että n 1-numeron jonot saadaan n-numeron jonoista liittämällä kukin numeroista 0,...,9 kuhunkin n-numeroiseen jonoon, järjestämällä luvun numerot ja tulostamalla ne. Mutta tämä alkaa viedä muistia jos luvun pituus kasvaa. Tahtoisin siis sellaisen funktion, että kun sille antaa luvun n, jonka numerot ovat suuruusjärjestyksessä, niin se palauttaa seuraavan luvun, jonka numerot ovat suuruusjärjestyksessä.
Seuraava luku, jonka numerot ovat suuruusjärjestyksessä
22
186
Vastaukset
- Tuossssssanoinnnnnnnnn
Debianin käyttäjän tekemä kysymys, hulluja on monen laisia.
- xxxvccb
VIC-20 koneella :
5 B=1
10 B=B 1
20 PRINT B
30 C=1
40 B=B-C
50 PRINT B - pillerit-sekaisin
Turbokyrbä sekoilee taas tapansa mukaisesti.
- PythonillaHelppoa
Oletetaan kyseessä olevan kymmenjärjestelmä ja kenen tahansa pystyvän tekemään tuon paperilla ihan yksikäsitteisesti ilman mitään ongelmia. Ja luvut ovat positiivisia kokonaislukuja Sopivien lukujen suhteellinen määrä lukuavaruudessa on aika pieni. Esim.
87743220 -> 87743222 -> 87743300 -> 87743310 -> 87743311 -> 87743331 -> 87743333 -> ???
Luvut kannattaa muuttaa merkkijonoiksi ja käsitellä niitä merkkijonoina annetuilla ehdoilla. Ei mitään ongelmaa ainakaan Pythonilla.- minmax
Kysymyshän kuului:
"Kuinka tehdään ohjelma, joka tulostaa suuruusjärjestyksessä sellaisia lukuja, joiden numerot ovat suuruusjärjestyksessä suurin ensin?" - Tuossssssanoinnnnnnnnn
minmax kirjoitti:
Kysymyshän kuului:
"Kuinka tehdään ohjelma, joka tulostaa suuruusjärjestyksessä sellaisia lukuja, joiden numerot ovat suuruusjärjestyksessä suurin ensin?"Etkö osaa lukea edes kysymystä typo
- minmax
Tuossssssanoinnnnnnnnn kirjoitti:
Etkö osaa lukea edes kysymystä typo
Itseltäsikö kysyit?
- PeterBersreikå
minmax kirjoitti:
Itseltäsikö kysyit?
olet liian tyhmä että ymmärtääksesi, keneltä kysyttiin
- PythonillaHelppoa
minmax kirjoitti:
Kysymyshän kuului:
"Kuinka tehdään ohjelma, joka tulostaa suuruusjärjestyksessä sellaisia lukuja, joiden numerot ovat suuruusjärjestyksessä suurin ensin?"Vastaus on tuossa viestissä täysin yksikäsitteisesti jokaiselle hiukankin ohjelmoinnin alkeita osaavalle. Ohjelmoinnissa aina yli 90 % liittyy ogelman määrittelyyn ja ymmärtämiseen. Eikä sitä muutaman rivin ohjelmapätkää sitten useinkaan edes tarvitse tehdä. Ei tuosta synny mitään matemaattisesti kovin hirvittävän mielenkiintoista. Aina päädytään jossakin vaiheessa 99999...9:iin ja sitten tulee luonnollisesti 10000...0. Ja kaikki toistuu ikuisesti.
- PeterBersreikå
PythonillaHelppoa kirjoitti:
Vastaus on tuossa viestissä täysin yksikäsitteisesti jokaiselle hiukankin ohjelmoinnin alkeita osaavalle. Ohjelmoinnissa aina yli 90 % liittyy ogelman määrittelyyn ja ymmärtämiseen. Eikä sitä muutaman rivin ohjelmapätkää sitten useinkaan edes tarvitse tehdä. Ei tuosta synny mitään matemaattisesti kovin hirvittävän mielenkiintoista. Aina päädytään jossakin vaiheessa 99999...9:iin ja sitten tulee luonnollisesti 10000...0. Ja kaikki toistuu ikuisesti.
On niin tyhonia, niin pythonia, että on haju mukana, ettei vaan olis ubun ruskeakin vielä
- beasic
PeterBersreikå kirjoitti:
olet liian tyhmä että ymmärtääksesi, keneltä kysyttiin
Osaatko vastata tähän kysymykseen: Turbokyrbällä on rahaa 2 kopeekkaa ja Peterillä 1 kopeekka. Kummalla on enemmän rahaa?
- PeterBersreikå
beasic kirjoitti:
Osaatko vastata tähän kysymykseen: Turbokyrbällä on rahaa 2 kopeekkaa ja Peterillä 1 kopeekka. Kummalla on enemmän rahaa?
Minä kysyin tuota Ubuntun käyttäjältä, ja se sano että Ei hän tiedä, mutta pyysi odottamaan kun käy kysymässä exBresseliltä kun sille tulee lehti
- Ubutontyhmiä
PeterBersreikå kirjoitti:
Minä kysyin tuota Ubuntun käyttäjältä, ja se sano että Ei hän tiedä, mutta pyysi odottamaan kun käy kysymässä exBresseliltä kun sille tulee lehti
Ei tiennyt exRunkkarikaan, kysyppä Windowsin käyttäjiltä.
- lukujennumerot
Juuri noin eli EI järjestellä lukuja suuruus järjestykseen, vaan lukujen numeroita :)
Muuten olisi joku quicksort-algoritmi vaikka hyvä. - exBersel-ja-lauantai
Ubuntun porukalle riittää moneksi viikkoa jommia kun ne laittaa muutaman numeron suuruusjärjestykseen. Miten se on mahdollista että Ubuntun käyttäjiin on pesiytynyt kaikki tyhmimmät linuxsia käyttävät idiootit.
- IsoLukuOnPitkääääääää
Ihan ensimmäiseksi kannattaa määritellä luvun numeroiden maksimimäärä. Jos tuon pystyy tekemään, niin hommasta on yli 99 % tehtynä. Ei voi jättää ohjelmoijan vastuulle. Pienet luvut on helppoja, mutta isojen lukujen kanssa pitää tietää, missä muodossa luku annetaan. Paljon yli 99,99999 % luvuista on paljon yli biljoonanumeroisia. Niiden käsittelyssä ja tulostamisessa on omat ongelmansa.
- täsmällisetarvotkin
Mutta jos numeroiden maksimimäärä on ääretön, mitenkäs sitten?
Olisi vähän kuin laskisi PI;n täsmällistä kokonaislukuarvoa. - irrationaalinenreaali
Hauska juttu tuollaisessakin, kun joskus tein sellaisen sovelluksen joka teki planeettoja ja aurinkokuntia kuvatkin planeetoista, tunnetuilla fysiikan säännöillä tehtyjä:
Laittaisi tietokoneen laskemaan jatkuvasti vain jonkun irrationaaliluvun, kuten PI desimaaleja ja piirtelisi niistä erilaisia aurinkokuntia, tulisikohan milloin vastaan omaa aurinkokuntaa muistuttava planeettajärjestelmä :D - Tuossssssanoinnnnnnnnn
Pölkkypäät huomio, Ihan ensimmäiseksi pitää opetella numerot 1 - 20, opetelkaa vaikka parin numeron päivävauhtia.
- hihhihhauskojajuttuja
Kohta tulee kerrassaan huvittava sanonta, ajattelin jo sanoa, joltain tytöltä hihhih-hauska sanonta asioihin :D
- Tarkentaja
Miten päin niiden pitäisi olla? Leipätekstissä kerrotaan suurin ensin, mutta luettelossa on sitten pienin ensin?
- näpertelincodepadiin
Kysymyksen innoittamana näpertelin C-koodia tuonne codepadiin: http://codepad.org/vAVhLFb8
Toimiiko tuo niin kuin pitää? Laitoin tuossa luvun numerot erikseen taulukkoon, niin pitäisi saada aika isojakin lukuja käsiteltyä, toki tuo ideksinä käytetty int tyyppi rajoittaa numeroiden määrää.
Varsinainen seuraavan luvun haku menee sellaisella periaatteella, että aletaan kasvattamaan luvun alinta numeroa, "ykkösiä", jos se menee yli 9:n tai suuremmaksi kuin seuraava numero, "kymmenet", niin nollataan ykköset ja siirrytään kasvattamaan seuraavaa numeroa, eli kymmeniä. Siinä toistetaan taas samaa, jos kymmenet menee yli 9:n tai suuremmaksi kuin sadat, nollataan kymmenet ja siirrytään kasvattamaan satoja, jne... niin kauan kuin luvussa riittää numeroita.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod337034- 386444
- 293524
- 453060
- 342724
- 152418
- 372198
- 162076
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons481957En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191807