Forum » Programiranje » [Java] Liha potenca
[Java] Liha potenca
bijonda ::
Evo jaz z nalogo!
Racunam potence stevil. Vse mi dela, samo mi ne izracuna pravilno za negativne lihe eksponente.
A se komu sanjak kaj ni uredu oz kaj moram popraviti?
Thx!
#############################################333
Program:
public class RekPotenca {
public static double potenca (int x, int n) {
// ce je eksopenet enak 0, vrnemo 1
if (n == 0) {
return 1.0;
}
else if (n == 1) {
return (double)x;
}
else if (n == -1) {
return (double)1/x;
}
// eksponent je sodo stevilo
else if(n % 2 == 0){
double t = potenca(x, n/2);
return (double)(t * t);
}
// eksponent je liho stevilo
else{
double t = potenca(x, n/2);
return (double)(x * t * t);
}
}
// preverimo zgornjo metodo
// oz izpisemo konkretne primere
public static void main (String[] args) {
System.out.println("2 na 4 je: " +potenca(2,4));
System.out.println("3 na 5 je: " +potenca(3,5));
System.out.println("Ce je eksponent negativno stevilo.");
System.out.println("2 na -4 je: " +potenca(2,-4));
System.out.println("5 na -3 je: " +potenca(5,-3));
}
}
Racunam potence stevil. Vse mi dela, samo mi ne izracuna pravilno za negativne lihe eksponente.
A se komu sanjak kaj ni uredu oz kaj moram popraviti?
Thx!
#############################################333
Program:
public class RekPotenca {
public static double potenca (int x, int n) {
// ce je eksopenet enak 0, vrnemo 1
if (n == 0) {
return 1.0;
}
else if (n == 1) {
return (double)x;
}
else if (n == -1) {
return (double)1/x;
}
// eksponent je sodo stevilo
else if(n % 2 == 0){
double t = potenca(x, n/2);
return (double)(t * t);
}
// eksponent je liho stevilo
else{
double t = potenca(x, n/2);
return (double)(x * t * t);
}
}
// preverimo zgornjo metodo
// oz izpisemo konkretne primere
public static void main (String[] args) {
System.out.println("2 na 4 je: " +potenca(2,4));
System.out.println("3 na 5 je: " +potenca(3,5));
System.out.println("Ce je eksponent negativno stevilo.");
System.out.println("2 na -4 je: " +potenca(2,-4));
System.out.println("5 na -3 je: " +potenca(5,-3));
}
}
- spremenilo: CCfly ()
sverde21 ::
Vem da ni odgovor, na vprašanje ampak lahko bi uporabila class Math (poglej pod metodo pow.
<?php echo `w`; ?>
Genetic ::
Ne more uporabiti class Math, ker se verjetno uci rekurzijo ...
Zgodovina sprememb…
- spremenil: Genetic ()
Genetic ::
Ko preverjas za negativni lihi n, bi morala vrniti (1/x * t * t) namesto (x * t * t).
Namesto da preverjas za n == -1, rajsi preveri za n < 0 in potem vrni 1/potenca(x,-n).
Namesto da preverjas za n == -1, rajsi preveri za n < 0 in potem vrni 1/potenca(x,-n).
bijonda ::
Res je delal smo rekurzijo!
Metoda mi mora delat za liha in za soda stevila in za negativne in pozitivna stevila.
Ja ne! Kaj pa ce bi kako metodo se dodala?
To bi slo?!
Thx za pomoc! Ce imas se kako idejo kar na dan z njo!
Metoda mi mora delat za liha in za soda stevila in za negativne in pozitivna stevila.
Ja ne! Kaj pa ce bi kako metodo se dodala?
To bi slo?!
Thx za pomoc! Ce imas se kako idejo kar na dan z njo!
Genetic ::
V tvoji kodi namesto
else if (n == -1) {
return (double)1/x;
}
uporabi
else if (n < 0) {
return 1/potenca(x,-n);
}
else if (n == -1) {
return (double)1/x;
}
uporabi
else if (n < 0) {
return 1/potenca(x,-n);
}
sverde21 ::
Ne more uporabiti class Math, ker se verjetno uci rekurzijo ...Vidm ja , ampak potem v vsakdanjem življenju programer piše Math.pow(2, 4); .
aja bjonda še en nasvet , ko pišeš tukajle na forum kodo lahko uporabiš slotechove tage, takole: [st.koda java]tvoja koda[/st.koda java] potem se koda prikaže lepše z odmiki,... takole:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }
<?php echo `w`; ?>
Zgodovina sprememb…
- spremenil: sverde21 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Nadaljuj Javanski programOddelek: Programiranje | 1705 (1106) | nightrage |
» | Java metode;Oddelek: Programiranje | 4850 (4042) | ragezor |
» | [java] Osnovna vprašanjaOddelek: Programiranje | 2591 (1598) | killa bee |
» | [NALOGA][Java] SinusOddelek: Programiranje | 1291 (1223) | Lukeatluke |
» | [Naloga][Java] UlomkiOddelek: Programiranje | 2637 (2485) | SkIDiver |