Mamy takie zadanie: Każdego roku pewna populacja królików podwaja się. Jeżeli początkowo było
m królików to ile ich będzie po
n latach? Rozwiązanie rekurencyjne poniżej.
// wykorzystujemy klasę Scanner z pakietu java.util
import java.util.*;
/**
* Populacja królików rekurencyjnie
* @author kodatnik.blogspot.com
*/
public class Kroliki {
// metoda zwraca liczebność królików po określonej liczbie lat
// parametry: m - liczebność początkowa, n - liczba lat
public static int populacja(int m, int n) {
// jeżeli liczba lat równa się jeden zwróć podwojoną liczbę królików
// w przeciwnym wypadku wywołaj rekurencyjnie metodę zwiększając
// liczbę królików i zmniejszając liczbę lat
if ( n == 1 ) return 2*m;
else return populacja(2*m, --n);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print ("Podaj początkową populację królików: " );
// pobieramy od użytkownika liczbę
int m = sc.nextInt();
System.out.print ("Podaj liczbę lat: " );
// pobieramy od użytkownika liczbę
int n = sc.nextInt();
// wyświetlamy na ekranie obliczoną populacje królików
System.out.println("Po " + n + " latach będzie " + populacja(m, n) + " królików");
}
}
Przykładowe uruchomienie aplikacji (ach te króliki ;):
Podaj początkową populację królików: 100
Podaj liczbę lat: 10
Po 10 latach będzie 102400 królików
1 Komentarz - Populacja królików rekurencyjnie
ss
Prześlij komentarz
Możesz użyć niektórych tagów HTML, takich jak <b>, <i>, <u>, <a> Nie spamuj :)