Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Tekijät

JRokka [10.11.2019 12:20:26]

#

Tämä ohjelma muodostaa kahdesta luvusta lausekkeita. Lukujen täytyy olla eri suuret, että lausekkeet voidaan muodostaa. Lausekkeet haetaan for-lauseiden avulla.

Koodi

import java.util.Scanner;

public class Tekijat {
    public static void main(String[] args){
        Scanner syote = new Scanner(System.in);
        int luku = 0;
        int tekija_1 = 0;
        int tekija_2 = 0;
        int maara = 0;
        //Syötetään lähtötiedot.
        System.out.println("Syötä luku.");
        luku = syote.nextInt();
        do {
            System.out.println("Syötä tekijät.");
            tekija_1 = syote.nextInt();
            tekija_2 = syote.nextInt();
        } while (tekija_1 == tekija_2);
        if (tekija_1 < tekija_2){
            maara = luku/tekija_1;
        }
        else {
            maara = luku/tekija_2;
        }
        //Jaetaan luku tekijöihin.
        //Tekijöitä on kaksi, jotka ovat eri suuria.
        //Nyt katsotaan, miten lausekkeita voidaan muodostaa kahdesta tekijästä.
        //Kumpaakin tekijää voi olla useampi kappale.
        for (int x = 1; x <= maara; x++){
            for (int y = 1; y <= maara; y++){
                if (x*tekija_1 + y*tekija_2 == luku){
                    //Luvuille löydettiin oikea suhde.
                    //Näytetään lauseke.
                    System.out.println(x + "*" + tekija_1 + " + " + y + "*" + tekija_2 + "=" + luku);
                }
            }
        }
    }
}


koodi tähän. (Java)

Vastaus

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

Tietoa sivustosta