IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 4 fois
Vote des utilisateurs
0 
0 
Détails
Licence : Non renseignée
Mise en ligne le 30 novembre 2010
Plate-forme : Windows
Langue : Français
Référencé dans
Navigation

SuperPrime - un petit benchmark [Windows]

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.
Avatar de Bornerdogge
Membre régulier https://www.developpez.com
Le 30/11/2010 à 17:47
Bonjour, Je vous propose un nouvel élément à utiliser : SuperPrime - un petit benchmark [Windows]

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.

Qu'en pensez-vous ?
Avatar de 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
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
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.