-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsumCheck_v3.js
66 lines (52 loc) · 1.8 KB
/
sumCheck_v3.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
const fs = require('fs');
const prompt = require("prompt-sync")({ sigint: true });
var nbComparisons = 0;
function enter() {
return prompt("[ENTER]");
}
function dataToObject() {
let sum = prompt("Quelle somme doit-on tester ? > ");
while(parseInt(sum) != sum || parseInt(sum) <= 0) {
sum = prompt("Erreur : veuillez entrez un entier positif > ");
}
let size = prompt("Quelle taille du tableau de recherche ? > ");
while(parseInt(size) != size || parseInt(size) <= 0) {
size = prompt("Erreur : veuillez entrez un entier positif > ");
}
objectToTest = {
array: Array.from({length: size}, () => Math.floor(Math.random() * 100)),
sum: parseInt(sum)
};
//Log de vérif
console.log("\nVos données vont apparaître :");
enter();
console.log(`\n${objectToTest.sum} est la somme recherchée parmi ${size} valeurs aléatoires :\n\n${objectToTest.array}\n`);
enter();
return objectToTest;
}
function sumCheck_v3(object) {
let array = object.array;
for(let i = 0 ; i < array.length ; i++) {
let subArray = array.slice(i, array.length);
nbComparisons++;
if(subArray.includes(object.sum - array[i])) {
console.log(`Victoire ! ${array[i]} + ${array[array.indexOf(object.sum - array[i])]}`);
enter();
return true;
}
}
return false;
}
function perform() {
console.log("\n" + "~".repeat(50));
console.log("\tEXERCICES D'ALGORITHMIES");
console.log("~".repeat(50) + "\n\n");
// Initialisation des données
var objectToTest = dataToObject();
let search = sumCheck_v3(objectToTest);
if (!search){
console.log(`${search} => pas de solution trouvée.`);
}
console.log(`nbComparisons => ${nbComparisons}`);
}
perform();