Forum zamknięte. Zapraszamy do grupy na Facebooku
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
program obliczający X do potęgi K - nie działa
11-22-2012, 09:17 AM (Ten post był ostatnio modyfikowany: 11-22-2012 09:36 AM przez karel70.)
Post: #1
program obliczający X do potęgi K - nie działa
Witam !
Mam take program do napisania : program obliczający X do potęgi K (K- liczba naturalna).

Oto co napisałem:
Kod:
public class I9 {

    
    public static void main(String[] args) {
        int x = 2;
        int k = 11;
        if (k == 1){
            System.out.println(x);
        }
        if (k == 2){
            x =x*x;
            System.out.println(x);
        }  
        if (k > 2){
            int pom = x;
            double liczba = 0;
            int licznik = 1;
            int a=0;
            while (k >1){
                if(k>licznik){
                    x=x*x;    
                    licznik =licznik*2;
                    k=k-licznik;
                }else {
                
                    liczba =liczba * x;
                    x = pom;
                    licznik=1;
                
            
            }}
        
                        
            System.out.println(liczba*pom);
            
        }
        
    

    }

}

Coś jest nie tak bo cały czas mam wynik zero. Proszę o danie jakiś wskazówek co jest nie tak lub poprawę tego programu.

PS. Jestem laikiem więc proszę o wyrozumiałość
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
03-25-2013, 12:00 PM
Post: #2
RE: program obliczający X do potęgi K - nie działa
Myślę, że dlatego:
Kod:
double liczba = 0;
[...]
liczba =liczba * x;   // cały czas liczba = 0
[...]
System.out.println(liczba*pom);  // 0 * stała = 0;

Nigdzie indziej wartość zmiennej 'liczba' nie jest zmieniana, więc nie może dać Ci innego wyniku niż 0. Nie chcę Cię zniechęcać, ale cały program napisałeś nieco niezgodnie z tym językiem programowania, poczytaj trochę Tongue.

http://javastart.pl/podstawy-jezyka/funk...ie-liczby/
http://javastart.pl/category/programowanie-obiektowe/
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
03-25-2013, 05:53 PM
Post: #3
RE: program obliczający X do potęgi K - nie działa
Nie szybciej byłoby jakimś forem?
Kod:
potega = 1;
for(int i = 0; i < k; i++){
potega *= n;
}
Znajdź wszystkie posty użytkownika
Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości