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.
|
Écrire ensuite une solution avec une fonction récursive.
|
||||||
|
|
||||||
|
=> Fibonacci.java
|
||||||
|
|
||||||
## Exercice 10
|
## Exercice 10
|
||||||
|
|
||||||
|
Convertir un nombre romain en entier (avec "chiffre" romains I, V et X).
|
||||||
|
|
||||||
|
=> Romain.java
|
||||||
|
|
||||||
|
## Exercice 11
|
||||||
|
|
||||||
Chiffre de César:
|
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.
|
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
|
=> 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
|
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;
|
package utils;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -9,6 +10,19 @@ import java.util.function.BiFunction;
|
|||||||
|
|
||||||
public class Utils {
|
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[] {
|
public static final char[] ALPHABET = new char[] {
|
||||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
|
'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'
|
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
|
||||||
@ -128,4 +142,18 @@ public class Utils {
|
|||||||
afficher(mot, result == val ? "OK" : "ERREUR");
|
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