Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Potenssit

JRokka [03.12.2019 15:02:38]

#

Tämä ohjelma laskee, onko kyseessä kahden, neljän, kahdeksan tai 16:n potenssi. Tähän käytetään apuna maara muuttujaa. Jos maara on kahdella jaollinen, luku on neljän potenssi. Jos maara on kolmella jaollinen, luku on kahdeksan potenssi. Jos maara on neljällä jaollinen, luku on kuudentoista potenssi.

import java.util.Scanner;

public class Potenssit {
    public static void main(String[] args){
        Scanner syote = new Scanner(System.in);
        double luku = 0;
        int maara = 0; //Tämän avulla lasketaan potenssit.
        boolean onkoKahden = false;
        boolean onkoNeljan = false;
        boolean onkoKahdeksan = false;
        boolean onkoKuudentoista = false;
        //Syötetään luku.
        System.out.println("Syötä luku.");
        luku = syote.nextDouble();
        //Katsotaan, onko luku kahden, neljän, kahdeksan tai 16:n potensi.
        while (luku > 1){
            luku /= 2;
            if (luku >= 1){
                maara++;
            }
            if (luku == 1){
                //Tarkistetaan potenssit.
                //4 = 2^2, eli jos määrä on kahdella jaollinen kyseessä on neljän potenssi.
                //8 = 2^3, eli jos määrä on kolmella jaollinen kyseessä on kahdeksan potenssi.
                //16 = 2^4, ei jos määrä on neljällä jaollinen kyseessä on kuudentoista potenssi.
                onkoKahden = true;
                if (maara % 2 == 0){
                    onkoNeljan = true;
                }
                if (maara % 3 == 0){
                   onkoKahdeksan = true;
                }
                if (maara % 4 == 0)
                {
                  onkoKuudentoista = true;
                }
            }
        }
        //Näytetään tulokset.
        if (onkoKahden == true){
            System.out.println("Kahden potenssi");
        }
        if (onkoNeljan == true){
            System.out.println("Neljän potenssi");
        }
        if (onkoKahdeksan == true){
            System.out.println("Kahdeksan potenssi");
        }
        if (onkoKuudentoista == true){
            System.out.println("Kuudentoista potenssi");
        }
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta