NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: výpis rovnice

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
vasatom
Člen
Avatar
vasatom:3.12.2015 12:06

ahoj, pomohl by mi někdo prosím , jak s výpisem výsledku místo jenom čísla. Ve formátu variace = 6x5x4 =120 ?
Děkuji

static Scanner cti=new Scanner(System.in);
    public static void main(String[] args) {
        System.out.print("zadej n: ");
        int n=cti.nextInt();
        System.out.print("zadej k: ");
        int k=cti.nextInt();
        if(n<k)
            System.out.println("zadal jsi špatná čísla");
        else if (n<1)
            System.out.println("zadal jsi špatná čísla");
        else if (k<1)
            System.out.println("zadal jsi špatná čísla");
        else{
            int c=var(n);
            System.out.println(""+c);
            int d=var(k);
            int e=c/d;
            System.out.println("Výsledek variace je: "+e);
        }
    }
     public static int var(int a){
     if(a>1)return a*var(a-1);
        else return 1;
    }
}
Editováno 3.12.2015 12:06
 
Odpovědět
3.12.2015 12:06
Avatar
Ten Zdeněk :3.12.2015 19:54

Nejdříve si napiš stejnou rekurzivní funkci pro faktoriál, akorát s výstupem textového řetězce.
Pak od sebe můžes Strings jakoby odečítat pomocí vlastnosti lenght:
Svou funkcí si uložíš strings pro obě dvě čísla(např n=počet prvků, k= počet pozic) a pak pomocí funkce String.substrin­g(int beginIndex, int endIndex) na stringu n, pričemž index začátku bude 0 a index konce bude [délka n]-[délka k+1] (n.lenght - [k.lenght +1]), to "+1" tam je, protže chceme odstranit i přebytečný znak násobení.
Např.: n=5, k=3 : N="5x4x3x2x1" K="3x2x1" -> N.substring(0,9-[6+1] ) = N.substring(0,2) = "5x4".

 
Nahoru Odpovědět
3.12.2015 19:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.