Exercice nombres Romains
This commit is contained in:
parent
546c2f4b7e
commit
b65325911b
10
Exercices.md
10
Exercices.md
@ -143,15 +143,23 @@ Il s’agit d’une suite de nombres dans laquelle tout nombre (à partir du tro
|
||||
|
||||
Écrire ensuite une solution avec une fonction récursive.
|
||||
|
||||
=> Fibonacci.java
|
||||
|
||||
## Exercice 10
|
||||
|
||||
Convertir un nombre romain en entier (avec "chiffre" romains I, V et X).
|
||||
|
||||
=> Romain.java
|
||||
|
||||
## Exercice 11
|
||||
|
||||
Chiffre de César:
|
||||
|
||||
Le texte chiffré s'obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l'ordre de l'alphabet. Pour les dernières lettres (dans le cas d'un décalage à droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu'à W qui devient Z, puis X devient A etc.
|
||||
|
||||
=> CesarChiffre.java CesarDechiffre.java
|
||||
|
||||
## Exercice 11
|
||||
## Exercice 12
|
||||
|
||||
Tester si un mot est un palindrome. Un palindrome est un mot qui peut se lire dans les 2 sens: été, ici, colloc
|
||||
|
||||
|
15
Romain.java
Normal file
15
Romain.java
Normal file
@ -0,0 +1,15 @@
|
||||
import static utils.Utils.*;
|
||||
|
||||
public class Romain {
|
||||
|
||||
public static final void main(String[] args) {
|
||||
afficher("Conversion nombre romains (I à X)");
|
||||
|
||||
testRomains(Romain::convertirEnDecimal);
|
||||
}
|
||||
|
||||
public static int convertirEnDecimal(char[] romain) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package utils;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.stream.Collectors;
|
||||
@ -9,6 +10,19 @@ import java.util.function.BiFunction;
|
||||
|
||||
public class Utils {
|
||||
|
||||
public static Map<String, Integer> ROMAINS = Map.of(
|
||||
"I", 1,
|
||||
"II", 2,
|
||||
"III", 3,
|
||||
"IV", 4,
|
||||
"V", 5,
|
||||
"VI", 6,
|
||||
"VII", 7,
|
||||
"VIII", 8,
|
||||
"IX", 9,
|
||||
"X", 10
|
||||
);
|
||||
|
||||
public static final char[] ALPHABET = new char[] {
|
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
|
||||
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
|
||||
@ -128,4 +142,18 @@ public class Utils {
|
||||
afficher(mot, result == val ? "OK" : "ERREUR");
|
||||
}
|
||||
|
||||
public static void testRomains(Function<char[], Integer> func) {
|
||||
for (Map.Entry<String, Integer> entry : ROMAINS.entrySet()) {
|
||||
String rom = entry.getKey();
|
||||
int val = entry.getValue();
|
||||
int res = func.apply(rom.toCharArray());
|
||||
afficher(rom, " -> ", res);
|
||||
if (res == val) {
|
||||
afficher("Succés");
|
||||
} else {
|
||||
afficher("Attendu:", val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user