Aggiunta ricorsione 2

Esercizi per 6/6/2023
This commit is contained in:
Giacomo R. 2023-06-06 21:41:21 +02:00
parent 3ed4f15666
commit f4b0fa1846
1 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,53 @@
package ricorsione;
import java.util.ArrayList;
/**
* Collezione 2 di metodi ricorsivi utilizzata per gli esercizi per il 6/6/23
* @author radaelli11353
*/
public class Ricorsione2 {
public static ArrayList<Integer> scomposizioneFattoriPrimi(int n) {
ArrayList<Integer> fattori = new ArrayList<>();
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
fattori.add(i);
n = n / i;
break;
}
}
if (n > 1) {
fattori.addAll(scomposizioneFattoriPrimi(n));
}
return fattori;
}
public static String reverse(String text) {
if (text.length() <= 1) {
return text;
}
return reverse(text.substring(1)) + text.charAt(0);
}
public static void main(String[] args) {
int numero = 4;
ArrayList<Integer> fattoriPrimi = scomposizioneFattoriPrimi(numero);
System.out.println("Fattori primi di " + numero + ":");
for (int fattore : fattoriPrimi) {
System.out.println(fattore);
}
System.out.println("----------------------");
String input = "Hello!";
String reversed = reverse(input);
System.out.println("Originale: " + input);
System.out.println("Invertita: " + reversed);
}
}