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");
}
}
}