JAVA apua?

Jussi

Elikkä kertokaapa joku guru tämmönen asia.
Millanen koodi pitäs olla että kun käyttäjä antaa jonkun luvun 0-5000
Sitte se pitäs muuttaa kolminumero järjestelmään eli käyttäen vain lukuja 0,1,2
eli menis jotenki näin
1=1
2=10
3=11
4=12
Tai jotain tonne päin.Elikkä jos joku viittis kertoo miten teen ton koodilla.Tai siis vois tähän laittaa sen koodin pätkän

6

701

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Dude

      'Trinääri' systeemillähän nämä luvut esitetään:
      1=1 Ok
      2=10 = oikeasti 02
      3=11 = oikeasti 10
      4=12 = oikeasti 11

      Jos et ole onnistunut koodauksessa, niin ilmoita Sun klo 18:00 mennessä. Voin tehdä koodin ja lähettää tänne.

      • Jussi

        Joo menee pikkusen yli hilseen tuo homma ku ei oo oikein tota matikka päätä.
        Jos viitit ton koodin pätkän tänne nykästä ni ois hyvä homma.
        Onko tuo trinääri kolminumero järjestelmä?
        Onko muilla nelinumerojärjestelmillä jne. jne omat jokku vastaavat systeemit.
        No jos nykäsisit sen koodin tänne ni oisin erit.kiitollinen ku ei tästä oikein tajua mitään.On tullu jo aika kauan värkättyä tän kanssa.


      • minä
        Jussi kirjoitti:

        Joo menee pikkusen yli hilseen tuo homma ku ei oo oikein tota matikka päätä.
        Jos viitit ton koodin pätkän tänne nykästä ni ois hyvä homma.
        Onko tuo trinääri kolminumero järjestelmä?
        Onko muilla nelinumerojärjestelmillä jne. jne omat jokku vastaavat systeemit.
        No jos nykäsisit sen koodin tänne ni oisin erit.kiitollinen ku ei tästä oikein tajua mitään.On tullu jo aika kauan värkättyä tän kanssa.

        Harjoittele pienillä luvuilla:
        Olkoon trinäärinä esitettävä luku 22

        Hajoita luku 22 kolmen potenssien summiin

        3^3 = 27 > 22 -> liian suuri
        3^2 = 9 < 22 -> kelpaa

        Luvun (3^2) = 9 voi vähentää luvusta 22 kaksi kertaa:
        22 - 2*(3^2) = 4

        Kertoimeksi saadaan siis 2, merkataan kerrointa vaikka luvulla i2 (toinen potenssi, josta tulee tuo 2)

        Jäljellä on luku 4

        Jatketaan hajoittamista..
        (3^1) = 3 < 4 mahtuu kerran.. kertoimeksi i1 saadaan 1

        Vähennetään..
        4 - 1*(3^1) = 1

        (3^0) = 1 joka menee tasan, kertoimeksi i0 saadaan 1

        Luku 22 voidaan esittää trinäärimuodossa seuraavasti:
        111 eli (i2i1i0 - huono esimerkkiluku mut en jaksanut vaihtaa aloituslukua, valitsin sen sattumanvaraisesti:)

        Jos useammalla merkillä esittää tuon luvun esim neljällä se on tietysti 0111, tuo ensimmäinen nollahan me jo pääteltiinkin alussa se oli tuo i3=0. Luku 3^3 oli liian suuri eli se mahtui lukuun 22 nolla kertaa..

        Toivottavasti tästä oli edes jotain apua. En viitsi jäsennellä kirjoittamaani tämä on melko puhdasta ajatuksenvirtatekniikkaa :)

        Voit muuttaa desimaalinumeron mihin tahansa numerojärjestelmään aivan vastaavalla keinolla. Binäärijärjestelmässä vähennät vain 2:n potensseja, oktaaliluvuilla 8:n jne aivan samoin kuin desimaaliluvutkin ovat 10:n potenssien "summia".. luku 765 = 7*100 6*10 5*1 eli 7*(10^2) 6*(10^1) 5*(10^0)

        Puuh onpa tylsää kun näinkin paljon jaksoin.. pitäisiköhän vaihtaa alaa opettajaksi ;)


    • minä

      Määritä tälläinen summa silmukassa: (3^0)*i0 (3^1)*i1 (3^2)*i2 (3^3)*i3 (3^4)*i4 (3^5)*i5 (3^6)*i6 .. (3^n)*in = kysytty_luku

      vinkki: Laske ylhäältä alas ;)

    • Dude

      Tollanen koodinpätkä se on. Se on kylläkin c'llä tehty, mutta tuo ydin, eli do loopin sisushan on kai ihan sama 'javaksi'.

      Jos annat vaikkapa luvu 11, niin sehän on kolmikantaisessa systeemissä 102, eli 1(*9) 0(*3) 2(*1), eli 1(*3^2) 0(*3^1) 2(*3^0).


      int i_10, i_3=0, kanta=3, apu, pt=1;

      printf("
      Paas antain luku:");
      apu = scanf("%d",&i_10);
      printf("
      Antamasi luku = %d
      ",i_10);

      do
      {
      apu = i_10-(i_10/kanta)*kanta;
      i_3 = pt*apu;
      pt *= 10;
      i_10 /= kanta;
      } while ( i_10 > 0 );

      printf("Antamasi luku kolmikannassa = %d
      ",i_3);

    • i

      String luku = Integer.toString(i, 3);

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Joskus mietin

      miten pienestä se olisi ollut kiinni, että et koskaan olisi tullut käymään elämässäni. Jos jokin asia olisi mennyt toisi
      Ikävä
      24
      4586
    2. Miten reagoisit

      Jos ikäväsi kohde ottaisi yhteyttä?
      Ikävä
      88
      3714
    3. Ryöstö hyrynsalmella!

      Ketkä ryösti kultasepänliikkeen hyryllä!? 😮 https://yle.fi/a/74-20159313
      Hyrynsalmi
      46
      3075
    4. Olisiko kaivattusi

      Sinulle uskollinen? Olisitko itse hänelle?
      Ikävä
      54
      2657
    5. Ihana nainen

      Suukotellaanko illalla?☺️ 🧔🏻🫶
      Ikävä
      51
      2589
    6. Mitä haluaisit sanoa

      Nyt kaivatullesi?
      Ikävä
      203
      2583
    7. Sukuvikaako ?

      Jälleen löytyi vastuulliseen liikennekäyttäytymiseen kasvatettu iisalmelainen nuori mies: Nuori mies kuollut liikenne
      Iisalmi
      32
      2390
    8. Ootko koskaan miettinyt että

      miksi kaivatullasi ei ole puolisoa?
      Ikävä
      152
      2318
    9. Huomenta ihana

      Mussu ❤️.
      Ikävä
      31
      1945
    10. Avustettu itsemurha herättää vahvoja tunteita - Laillista Sveitsissä, ei Suomessa

      Hilkka Niemi sairastaa harvinaista PLS-sairautta. Hilkan on elettävä loppuelämänsä parantumattoman sairauden kanssa, jok
      Maailman menoa
      107
      1521
    Aihe