import java.util.*; public class Alamprogrammid2{ static Map faktoriaaliPuhver= new HashMap(); //Lisage muutuja näitamaks, mitu korda faktoriaali küsitakse ning //mitu korda arvutatakse //Trüki pärast tulemused public static int faktoriaal(int arv){ if(faktoriaaliPuhver.get(arv)==null){ int vastus=1; for(int i=2; i<=arv; i++){ vastus=vastus*i; } faktoriaaliPuhver.put(new Integer(arv), new Integer(vastus)); } return faktoriaaliPuhver.get(arv); } public static int kombinatsioonideArv(int n, int m){ return faktoriaal(n)/faktoriaal(n-m)/faktoriaal(m); } public static void main(String[] arg){ System.out.println(faktoriaal(4)); System.out.println(kombinatsioonideArv(4, 3)); System.out.println(kombinatsioonideArv(4, 2)); } } // n!/(n-m)!/m! //4st pallist 3 kaupa // 4! =24 // 1! =1 // 3! =6 // 24/1/6=4 // s p k r