Calcule de nombre premier

Soyez le premier à donner votre avis sur cette source.

Vue 3 254 fois - Téléchargée 281 fois

Description

ce code calcul dans nombre premier en commancant au niveau que vous voulez (a partir du 100 000° si sa vous plait) durant un temps derterminé
Pour des raison de rendement il est reduit au minimum. Pour avoir le prog complet avec interface telecharger le .zip

Source / Exemple :


Public Function premier()

time1 = InputBox("temps", , "10")

time2 = Timer	' temps de dépard

nb = 5
nb1 = 1
scor = " 3"
time3 = time1 + time2	' temps de fin

line1:
nb1 = 1
scor3 = 0
If time3 < Timer Then GoTo linefin
nb = nb + 2
len1 = Len(nb)
mid1 = Mid(nb, len1, 1)
If mid1 = 0 Then GoTo line1
If mid1 = 5 Then GoTo line1
line2:
len2 = Len(scor)
nb1 = nb1 + 1
If nb1 > len2 Then GoTo line5
mid2 = Mid(scor, nb1, 1)
If mid2 = " " Then GoTo line3
scor3 = scor3 + mid2
GoTo line2
line3:
scor1 = nb / scor3
scor3 = 0
scor4 = InStr(1, scor1, ",", vbBinaryCompare)	'recherche si le nombre est decimal
If scor4 = 0 Then GoTo line1 Else GoTo line2
line5:
scor5 = Str(nb)
scor = scor + scor5
nb1 = 1
scor3 = 0
GoTo line1
linefin:
scor = scor + " "
premier = scor

MsgBox (scor)

End Function

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
euh... j'ai oublié un i=i+1 après le premier FIN TQ.

Séb
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
pkoi ne pas avoir utilisé l'autre algo de recherche des nombres premier ???

je m'explique :

DECLARE i as Integer
DECLARE j as Integer
DECLARE tab(Plafond) as TABLEAU
Init(tab) ''' Initialise toutes les valeurs du tableau à 0

TANT QUE i < plafond
j = i
TANT QUE (j*i) < plafond
tab(j*i) = 1 ''' il n'est pas premier
j = j +1
FIN TQ
TQ

Dans le tableau tu as 0 pour les nombres premier et 0 aux autres.

Séb

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.