TP-revision-algo.pdf

import java.util.*;

public class Bourses{

    static Scanner input = new Scanner(System.in);
    public static void main(String[] args){
        byte age;
        int revenu;
        byte enfants;
        String ansService;
        boolean service;
        int revMax;

        System.out.print("Entrez votre age :");
        age = input.nextByte();
        System.out.print("Entrez votre revenu imposable annuel :");
        revenu = input.nextInt();
        System.out.print("Entrez le nombre d'enfants dans votre famille :");
        enfants = input.nextByte();
        input.nextLine();
        
        do{
        System.out.print("Avez-vous fait votre service militaire ? (y/n)");
        ansService = input.nextLine();
        } while(!ansService.equals("y") && !ansService.equals("n"));

        if (ansService.equals("y"))
            service = true;
        else 
            service = false;

        revMax = 1200+(40*enfants);

        if ( ( age < 26 || (age < 27 && service) && revenu <= revMax)|| enfants >= 3 )
            System.out.println("Bourse accordée");
        else
            System.out.println("Bourse refusée");

    }

}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CarreCube{

    public static void main (String[] args){
        // Pour x : si x = y²+z³ alors mi carré mi cube
        int x = 2017;
        int yMax = (int)Math.sqrt(x)+1;
        int zMax = (int)Math.sqrt(Math.sqrt(x))+1;
        double result;
        int intResult;
        List<Integer> mem=new ArrayList<Integer>();
 ;

        for (int i = 1; i < yMax; i++) {
            for (int j = 1; j < zMax; j++) { // Essayer toutes les valeurs possibles pour y et z
                result = Math.pow(i, 2) + Math.pow(j, 3);
                intResult = (int)result; // Stocker le résultat comme un entier
                // Vérifier que le résultat entier corresponde au résultat initial
                // ET qu'il soit inférieur à l'année max
                // ET qu'il ne soit pas déjà dans la liste
                if (intResult == result && intResult < x && !mem.contains(intResult)){
                    System.out.println(i + "²" + "+" + j + "³" + "=" + intResult ); // ! debug
                    mem.add(intResult); // Ajouter le résultat dans la liste
                }
            } 
        }
        Collections.sort(mem); // Tri croissant de la liste
        System.out.println(mem); // Impression de la liste
    }
}
public class Parfait{

    public static boolean estParfait(int n){
        int somme = 0;
        for (int i = 1; i < n; i++){
            // on teste si i est un diviseur de n
            if (n % i == 0){
                somme += i; // on ajoute i à la somme
            }
        }
        return somme == n; // on retourne vrai si la somme des diviseurs est égale à n
    }

    public static void main (String[] args){
        int n = 40000; // valeur maximale à tester
        for (int i = 1; i <= n; i++){
            if (estParfait(i)){
                System.out.println(i); // on affiche i si i est parfait
            }
        }
    }

}
public class App {
    public static void main(String[] args) throws Exception {
        int count = 0;
        final byte BILLET5 = 5;
        final byte BILLET10 = 10;
        final byte BILLET20 = 20;

        for (int i = 0; i <= 100; i++) {
            for (int j = 0; j <= 50; j++) {
                for (int k = 0; k <= 20; k++) {
                    if (i * BILLET5 + j * BILLET10 + k * BILLET20 == 100) {
                        count++;
                        System.out.println(count + ": " + i + " billets de 5€, " + j + " billets de 10€, "
                                + k + " billets de 20€");
                    }
                }
            }
        }
    }
}
public class App {

    /*
     * La fonction "quoiquoi(int i, int j)" calcule la puissance de i à la puissance
     */
    public static int quoiquoi(int i, int j) {
        int result = 1;
        for (int k = 0; k < j; k++) {
            result *= i;
        }
        return result;
    }

    /*
     * La fonction "quoiquoi(int n)" calcule la somme des premiers n entiers impairs (2n-1)
     */
    public static int quoiquoi(int n) {
        if (n == 0) {
            return 0;
        } else {
            return quoiquoi(n - 1) + 2 * n - 1;
        }
    }
    public static void main(String[] args) throws Exception {
        int i = 2;
        int j = 3;
        System.out.println("---");
        System.out.println("Résultat de la fonction quoiquoi (i = " + i + " et" + " j = " + j + ") = " + quoiquoi(i, j));
        System.out.println("Cette fonction calcule la puissance de i à la puissance j");

        int n = 3;
        System.out.println("---");
        System.out.println("Résultat de la fonction quoiquoi(n = " + n + ") = " + quoiquoi(n));
        System.out.println("Cette fonction calcule la somme des premiers n entiers impairs (2n-1)");
    }

    // quoiquoi(3) = quoiquoi(2) + 23 - 1
    // = quoiquoi(1) + 22 - 1 + 23 - 1
    // = quoiquoi(0) + 21 - 1 + 22 - 1 + 23 - 1
    // = 0 + 1 + 3 + 5
    // = 9

}
public class App {

    /**
     * Calcul du PGCD de deux entiers
     * 
     * @param a 
     * @param b 
     * @return PGCD de a et b
     */

    public static int pgcd(int a, int b) {
        if (b == 0) {
            return a; // Si b est égal à 0, alors le PGCD est a, car le PGCD de tout nombre et 0 est le nombre lui-même.
        } else {
            // Sinon, on appelle récursivement la fonction pgcd avec les arguments b et a % b.
            // Ainsi, on remplace a par b et b par le reste de la division de a par b.
            System.out.println("a = " + a + " b = " + b);
            return pgcd(b, a % b);

            // Exemple : pgcd(48, 18) -> pgcd(18, 12) -> pgcd(12, 6) -> pgcd(6, 0) -> 6
        }
    }

    public static void main(String[] args) throws Exception {

        int a = 48;
        int b = 18;
        if (a>b) {        int pgcd = pgcd(a, b);
        System.out.println("Le PGCD de " + a + " et " + b + " est : " + pgcd);
        }
        else {
            throw new Exception("a doit être supérieur à b");
        }
    }
}