From f4b0fa1846d1a1cd94b2fb198fa120a47bc2a13c Mon Sep 17 00:00:00 2001 From: Giacomo Radaelli Date: Tue, 6 Jun 2023 21:41:21 +0200 Subject: [PATCH] Aggiunta ricorsione 2 Esercizi per 6/6/2023 --- .../src/ricorsione/Ricorsione2.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 NetBeans Projects/Ricorsione/src/ricorsione/Ricorsione2.java diff --git a/NetBeans Projects/Ricorsione/src/ricorsione/Ricorsione2.java b/NetBeans Projects/Ricorsione/src/ricorsione/Ricorsione2.java new file mode 100644 index 0000000..33f5ea2 --- /dev/null +++ b/NetBeans Projects/Ricorsione/src/ricorsione/Ricorsione2.java @@ -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 scomposizioneFattoriPrimi(int n) { + ArrayList 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 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); + } +}