diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/somme.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/java/somme.java b/java/somme.java new file mode 100644 index 0000000..c1da9d5 --- /dev/null +++ b/java/somme.java @@ -0,0 +1,35 @@ +import java.util.Scanner; + +public class HelloWorld { + private static boolean pari(int n) { + return (n % 2) == 0; + } + + private static int sequenza(int n, boolean pollatz, int tCollatz) { + int m = ((pollatz) ? 5 : 3), tot = 1; + + while(n != 1) { + n = (pari(n)) ? n/2 : n*m+1; + + tot++; + + if(tCollatz != -1 && tot > tCollatz) + break; + } + + return tot; + } + + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + int N1 = in.nextInt(), N2 = in.nextInt(), tot = 0, collatz; + + for(int i = N1; i <= N2; i++) { + collatz = sequenza(i, false, -1); + if(sequenza(i, true, collatz) < collatz ) + tot++; + } + + System.out.println(tot); + } +} |