Skip to content

Commit bcf20e3

Browse files
Ajout des nombres d'Armstrong niveau moyen, exercice 3
1 parent a66e531 commit bcf20e3

File tree

3 files changed

+54
-0
lines changed

3 files changed

+54
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Exercice 3
2+
3+
Un [nombre d'Armstrong](https://fr.wikipedia.org/wiki/Nombre_narcissique) est un nombre qui est égal à la somme de ses chiffres portés à la puissance du nombre de chiffres le composant.
4+
5+
On utilise le signe `^` pour indiquer une puissance. Par exemple `3^2` signifie 3 porté à la puissance 2. Cette valeur vaut donc `3*3 = 9`.
6+
7+
Par exemple, le nombre `153` est composé de `3` chiffres : `1`, `5` et `3`. On doit donc porter ces 3 chiffres à la puissance `3`, c'est-à-dire `1^3`, `5^3` et `3^3` et faire leur somme.
8+
9+
Au final on a `1^3 + 5^3 + 3^3 = 153`. On retrouve le nombre original `153` donc c'est un nombre d'Armstrong.
10+
11+
## Exemples
12+
- 9 est un nombre d'Armstrong, car `9^1 = 9`
13+
- 10 n'est **pas** un nombre d'Armstrong, car `1^2 + 0^2 = 1`
14+
- 153 est un nombre d'Armstrong, car `1^3 + 5^3 + 3^3 = 153`
15+
- 154 n'est **pas** un nombre d'Armstrong, car `1^3 + 5^3 + 4^3 = 190`

01-moyen/exercice-3/exercice-3.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
function exercice3(nombre) {
2+
3+
}
4+
5+
// Ne touchez pas à la ligne suivante
6+
module.exports = exercice3;
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
const exercice3 = require('./exercice-3');
2+
3+
test("Tous les nombres à un chiffre sont des nombres d'Armstrong", () => {
4+
expect(exercice3(5)).toBe(true);
5+
});
6+
7+
test("Il n'y a pas de nombres à 2 chiffres qui soient des nombres d'Armstrong", () => {
8+
expect(exercice3(10)).toBe(false);
9+
});
10+
11+
test("153 est un nombre d'Armstrong", () => {
12+
expect(exercice3(153)).toBe(true);
13+
});
14+
15+
test("100 n'est pas un nombre d'Armstrong", () => {
16+
expect(exercice3(100)).toBe(false);
17+
});
18+
19+
test("9474 est un nombre d'Armstrong", () => {
20+
expect(exercice3(9474)).toBe(true);
21+
});
22+
23+
test("9475 n'est pas un nombre d'Armstrong", () => {
24+
expect(exercice3(9475)).toBe(false);
25+
});
26+
27+
test("9926315 est un nombre d'Armstrong", () => {
28+
expect(exercice3(9926315)).toBe(true);
29+
});
30+
31+
test("9926314 n'est pas un nombre d'Armstrong", () => {
32+
expect(exercice3(9926314)).toBe(false);
33+
});

0 commit comments

Comments
 (0)