IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.