SuperPrime - un petit benchmark [Windows]

Présentation
Un petit programmer permettant de calculer tous les nombres premiers jusqu'à 500 milliards (ça peut prend un peu de temps).

Principe d'utilisation:
Au départ du programme, on vous demande d'entrer un chiffre. C'est le nombre de chiffres qui doivent être testés, premiers ou pas (exemple: tapez "100" suivi de la touche "enter" pour calculer tous les nombres premiers jusqu'à 100).

Le programme détecte lui-même le nombre de coeurs du sytème.

Une fois le calcul terminé, le programme indique le temps nécessaire au calcul et inscrit tous les nombres premiers trouvés dans le fichier "PrimeNumbers.txt". Attention, en fonction du nombre de nombres permiers trouvés, le fichier peut devenir assez volumineux...

Si vous désirez quitter le programme pendant son exécution, tapez simplement "Ctrl"+"C".

En principe, les machines Intel devraient être beaucoup plus puissante que les AMD la-dessus (-> en entiers plutot qu'en virgule flottante...).

Pour effectuer une comparaison de performances, entrez 500000 et retenez le Checksum.
Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 13 fois Voir les 4 commentaires
Détails
Catégories : Divers
Avatar de Bornerdogge
Membre régulier
Voir tous les téléchargements de l'auteur
Licence : Autre
Date de mise en ligne : 30 novembre 2010




Avatar de Replica333 Replica333 - Candidat au Club https://www.developpez.com
le 01/04/2012 à 3:46
Bonjour, l'archive ne contient que l'exécutable, pas le source...
Même chose pour la version Linux.

Dommage, cet oubli répété
Avatar de hastur34 hastur34 - Futur Membre du Club https://www.developpez.com
le 19/08/2015 à 11:27
Ce tout petit programme est tout bête.
Sur ma tablette Nexus 10 il donne les 500000 premiers nombres premiers 😀 en 2 secondes.
Avatar de hastur34 hastur34 - Futur Membre du Club https://www.developpez.com
le 19/08/2015 à 13:02
Code C : Sélectionner tout
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
  
#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
/* Générateur de nombres Premiers */ 
/* Inférieurs ou égaux à 4294967295 */ 
/* Auteur : Lemariey Jean-Philippe */ 
int main(int argc, char *argv[]) 
{ 
	div_t resultat; 
	int i = 3; 
	int j = 1; 
	int n = 0; 
	int r = 0; 
	double m = 0.0; 
	printf 
		("Ceci est un générateur de nombres Premiers inférieurs ou égaux à N \n"); 
	printf("Votre valeur de N svp : "); 
	scanf("%i", &n); 
	printf("\n 2 "); 
	while (i <= n) 
	{ 
		j = 2; 
		resultat = div(i, j); 
		r = resultat.rem; 
		m = sqrt((double)i);	// pas la peine de chercher au delà de 
							             	// racinecarrée i 
		while (j <= m && r != 0) 
		{ 
			j++; 
			resultat = div(i, j); 
			r = resultat.rem; 
		} 
		if (j > m) 
		{ 
			printf("%d ", i); 
		} 
		i += 2; //On ne teste que les nombres impairs 
	} 
	return 0; 
}
Avatar de dinobogan dinobogan - Modérateur https://www.developpez.com
le 20/08/2015 à 11:22
On ne teste que les nombres impairs

Et tu pourrais retirer 20% des tests en ne testant pas les nombres impairs se terminant par 5.
Et pour chaque vérification d'un nombre, tu pourrais diviser par 2 le nombre de divisions en allant de 2 en 2 pour j et en commençant par 3.
Tes 2 secondes se transformerait très approximativement en 0.8 seconde.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Contacter le responsable de la rubrique C