// fichier 'timer.mjs'
export function timer()
{
this.start = undefined,
this.end = undefined,
this.duree = [0,0,0],
this.start = start,
this.end = end
}
function start(){this.start = new Date().getTime();}
function end(){this.end = new Date().getTime();}
export function speed(start, end)
{
let duree, mn, s, ms;
duree = end - start;
if (duree < 1000){
mn = 0; s = 0; ms = duree;
} else {
ms = Math.round(duree % 1000);
s = Math.round(duree / 1000);
mn = 0;
if (s>=60){
mn = Math.round(s / 60);
s = Math.round(s % 60);
}
}
return [mn, s, ms];
}
// fichier 'calculDesNp.mjs
export function calculDesNp(n)
{
// [] pre-rempli avec nbres premiers
// de l'intervale 0 à 9.
let listeDesNp = [2,3,5,7];
// [] pre-rempli de l'intervale 0 à 9
let binaireTab=[0,0,1,1,0,1,0,1,0,0];
let premier;
for(let i=10; i<n; i++)
{
for(let x=0; x<listeDesNp.length; x++)
{
// comparaison de chaque nombre avec les
// np qui sont dans le [] listeDesNp
premier=true;
if( !(i % listeDesNp[x]) ){premier=false; break;}
}
if(premier)
{
listeDesNp.push(i);
binaireTab.push(1);
}else{binaireTab.push(0);}
}
return binaireTab
}
// fichier 'calculDensite.mjs'
export function calculDensite(binaireTab)
{
// densite <=> nbre de np par table
let n = binaireTab.length;
// nbreDeTable = nbreDeCentaine
let nbreDeTable = binaireTab.length/100;
let sommeParTable = new Array(nbreDeTable);
sommeParTable.fill(0);
sommeParTable[0]=4; // les 4 premiers np : 2 3 5 7
for(let i=10; i<n; i++)
{
if(binaireTab[i]==1){
if(i<100){sommeParTable[0]++;}
for(let j=1; j<nbreDeTable; j++)
{
if( i>(100*j) && i<(100*(j+1)) )
{sommeParTable[j]++;}
}
}
}
let len = sommeParTable.length;
let reducer = (accumulator, currentValue) => accumulator + currentValue;
let moyenne = sommeParTable.reduce(reducer) / len;
moyenne = Math.round(moyenne * 100) / 100;
let sommeEcartTab = sommeParTable.map( (item) => Math.abs(item-moyenne) );
let ecart = sommeEcartTab.reduce(reducer)/len;
ecart = Math.round(ecart * 100) / 100;
return [sommeParTable, moyenne, ecart];
}
Modifié par alain_47 (23 Nov 2020 - 00:50)