Suma cyfr w liczbie rekurencyjnie

W jednym z wcześniejszych postów liczyliśmy sumę cyfr w liczbie za pomocą iteracji. Poniżej rozwiązanie tego zadania z wykorzystaniem rekurencji.
01.// wykorzystujemy klasę Scanner z pakietu java.util
02.import java.util.*;
03. 
04./**
05. * Suma cyfr w liczbie rekurencyjnie
06. * @author kodatnik.blogspot.com
07. */
08.public class SumaCyfr {
09.  
10. // metoda sumaCyfr zwraca sumę cyfr liczby
11. // przekazanej jako parametr jej wywołania
12. public static int sumaCyfr(int liczba) {
13. 
14.  // jesli liczba mniejsza od 10 zwróć ją (warunek kończący wywołania rekurencyjne)
15.  if (liczba < 10)
16.   return liczba;
17. 
18.  // w przeciwnym razie bierzemy ostatnią cyfrę (modulo 10) plus rekurencyjne
19.  // wywołanie naszej metody z parametrem będącym liczbą bez ostatniej cyfry
20.  return (liczba % 10) + sumaCyfr(liczba / 10);
21. }
22.  
23. public static void main(String[] args){
24.   
25.  Scanner sc = new Scanner(System.in);
26.  System.out.print ("Podaj liczbę: " );
27.   
28.  // pobieramy od użytkownika liczbę
29.  int liczba = sc.nextInt();
30.   
31.  // wyświetlamy na ekranie sumę cyfr w liczbie
32.  System.out.println("Suma liczb: " + sumaCyfr(liczba));
33. 
34. }
35.}
Uruchomiona aplikacja:
Podaj liczbę: 12345
Suma liczb: 15


1 Komentarz - Suma cyfr w liczbie rekurencyjnie

obiady domowe na dowóz Żory pisze...

przydatne w pracy

Prześlij komentarz

Możesz użyć niektórych tagów HTML, takich jak <b>, <i>, <u>, <a> Nie spamuj :)

Popularne posty