Java - komb.čísla – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Java - komb.čísla – Java – Fórum – Programujte.comJava - komb.čísla – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Ralis0
Newbie
10. 11. 2013   #1
-
0
-

Dobrý den, potčebuji pomoci s úlohou v javě. Program mi počítá, ale potřebuji, aby si funkce poradila i s např. s čísly jako 100 nad 98. Nevím jak mám předělat funkci...

Děkuji

  public static int faktorial(int k) {
    
         int vypocet = 1;
         
        for(int i = k;i > 0;i--)
        
        {
            vypocet *= i;
        }
        
        return vypocet;
    }
  
  
  public static long kombinacniCislo(int n, int k){
    
      
          long vypocet;
        if(n < 0 || k < 0 || n < k)
            return -1;
        if(k == 0)
            return 1;
        vypocet = faktorial(n) / (faktorial(k) * faktorial(n-k));
        return vypocet;
        
        
    }
      
      
      
  }
Nahlásit jako SPAM
IP: 88.102.151.–
Řešení
Bald3rr0
Super člen
10. 11. 2013   #2
-
0
-
Vyřešeno Nejlepší odpověď

#1 Ralis
Ahoj, staci upravit radek, kde pocitas vypocet. 

vypocet = faktorial(n) / (faktorial(k) * faktorial(n-k))

na 

vypocet = foo(n,k) / faktorial(n-k)

kde  

public static long foo(int n, int k) {
  int x = n;
  n--;
  for(; n > k; n--) {
    x*=n;
  }
  return x;
}
Nahlásit jako SPAM
IP: 94.113.100.–
Bald3rr0
Super člen
10. 11. 2013   #3
-
0
-

#3 Ralis
Nechtelo se mi vymyslet lepsi jmeno :). Plyne to z definice komb. cisla: http://cs.wikipedia.org/wiki/Kombina%C4%8Dn%C3%AD_%C4%8D%C3%ADslo a z toho, co znamena n!/k!

Nahlásit jako SPAM
IP: 94.113.100.–
Ralis0
Newbie
10. 11. 2013   #4
-
0
-

#2 Bald3rr
a neni tam někde chyba v tom
for(n-1; n > k; n--)
?? neche mi to vzít ( "not a statement" )

Nahlásit jako SPAM
IP: 88.102.151.–
KIIV
~ Moderátor
+43
God of flame
10. 11. 2013   #5
-
0
-

"n-1"   je to co tomu vadi  -  zkus se jeste podivat na syntaxi foru a treba to poznas... (co mas blbe)

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Bald3rr0
Super člen
10. 11. 2013   #6
-
0
-

#4 Ralis
Tak nesmis brat kod ctrl+c/ctrl+v, obzvlast kdyz je to ukol do skoly, takhle se nic nenaucis ;)

Nahlásit jako SPAM
IP: 94.113.100.–
Ralis0
Newbie
10. 11. 2013   #7
-
0
-

ok :) ale i tak moc děkuju

Nahlásit jako SPAM
IP: 88.102.151.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý