Syntaxe java
public class Bidule {
public static void main(String[args]) {
int nombre, x;
String chaine;
boolean booleen;
= 0 + 2 * 4;
nombre = "Bonjour" + " à tout le monde !";
chaine = true and false or not false;
booleen
if (x == 1) {
System.out.println("OK");
} else {
System.out.println("KO");
}
System.out.println(f(7));
}
/* les fonctions seront des méthodes static */
public static int f(int x) {
int y = x+1;
return y
}
}
Contraintes : nous n’utiliserons pas de boucle (ni for
ni while
).
Exercices
Écrire la fonction puissance.
En utilisant puissance, écrire la fonction exponentielle binaire (n \mapsto 2^n)
Écrire la fonction factorielle.
Écrire la fonction sommielle.
Écrire une fonction qui calcule le n-ième terme de la suite de Fibonacci.
- La tester sur l’entrée 30 (on devrait trouver 832040)
- La tester sur les valeurs suivantes. Mesurer le temps utilisé.
- Réfléchir à une version plus efficace.
Écrire des fonctions
pair
etimpair
qui testent si un nombre est pair ou impair.Écrire une fonction
combinaison
qui calcule les combinaisons de k éléments parmi n en utilisant une identité connue du triangle de Pascal.Écrire la fonction de Ackermann.
\left\{ \begin{array}{l} A(0, n) = n+1\\ A(m, 0) = A(m-1, 1)\\ A(m,n) = A(m-1, A(m, n-1))\end{array}\right.
- La tester sur l’entrée (3,0)
- La tester sur l’entrée (3,6)
- La tester sur l’entrée (3,7)
- La tester sur l’entrée (4,0)
- La tester sur l’entrée (4,1)