Aggiunta correzione ricorsione 2
This commit is contained in:
parent
9ed76d07ce
commit
de3c827937
|
@ -75,7 +75,7 @@ main.class=ricorsione.Ricorsione
|
|||
manifest.file=manifest.mf
|
||||
meta.inf.dir=${src.dir}/META-INF
|
||||
mkdist.disabled=false
|
||||
platform.active=Zulu_17.0.6_10
|
||||
platform.active=Oracle_OpenJDK_20_36
|
||||
run.classpath=\
|
||||
${javac.classpath}:\
|
||||
${build.classes.dir}
|
||||
|
|
|
@ -9,30 +9,52 @@ import java.util.ArrayList;
|
|||
public class Ricorsione2 {
|
||||
public static ArrayList<Integer> scomposizioneFattoriPrimi(int n) {
|
||||
ArrayList<Integer> fattori = new ArrayList<>();
|
||||
|
||||
scomposizioneFattoriPrimi(n, fattori);
|
||||
return fattori;
|
||||
}
|
||||
|
||||
public static void scomposizioneFattoriPrimi(int n, ArrayList<Integer> x) {
|
||||
if(n == 1) return;
|
||||
for (int i = 2; i <= n; i++) {
|
||||
if (n % i == 0) {
|
||||
fattori.add(i);
|
||||
x.add(i);
|
||||
n = n / i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (n > 1) {
|
||||
fattori.addAll(scomposizioneFattoriPrimi(n));
|
||||
scomposizioneFattoriPrimi(n, x);
|
||||
}
|
||||
|
||||
return fattori;
|
||||
}
|
||||
|
||||
public static String reverse(String text) {
|
||||
if (text.length() <= 1) {
|
||||
return text;
|
||||
}
|
||||
return reverse(text.substring(1)) + text.charAt(0);
|
||||
//return reverse(text.substring(1)) + text.charAt(0);
|
||||
//return reverse(text, text.length() - 1);
|
||||
char[] b = text.toCharArray();
|
||||
reverse(b, 0);
|
||||
return String.valueOf(b);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static String reverse(String text, int index) {
|
||||
if(index == 0) return String.valueOf(text.charAt(index));
|
||||
return text.charAt(index) + reverse(text, index-1);
|
||||
}
|
||||
|
||||
public static void reverse(char[] x, int pos) {
|
||||
int l = x.length;
|
||||
if(pos < l/2) {
|
||||
char tmp = x[pos];
|
||||
x[pos] = x[l - 1 - pos];
|
||||
x[l - 1 - pos] = tmp;
|
||||
reverse(x, pos + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
int numero = 4;
|
||||
ArrayList<Integer> fattoriPrimi = scomposizioneFattoriPrimi(numero);
|
||||
|
@ -41,7 +63,7 @@ public class Ricorsione2 {
|
|||
for (int fattore : fattoriPrimi) {
|
||||
System.out.println(fattore);
|
||||
}
|
||||
|
||||
|
||||
System.out.println("----------------------");
|
||||
|
||||
String input = "Hello!";
|
||||
|
|
Loading…
Reference in New Issue