Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    4

    For e Next....Calcoliamo i numero Primo! Ma...dove sono?

    Salve il suddetto codice dovrebbe servire per sapere se un numero e primo oppure no
    ma quando lo mando in esecuzione,non spunta niete credo che si crei un interazione all'inifinito ho pensato che dovrei agginungere un bottone si MA CHE CODICE INSERIRE E SE NON E QUESTO ALLORA COSA?:master:

    Private Sub Primo(N As Long)
    Dim L As Long
    For L = 2 To Sqr(N)
    if N Mod L=0 then
    MsgBox "il numero non è primo"
    Exit For
    End If
    Next L
    End Sub


    A presto Qazaz

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    167

    Re: For e Next....Calcoliamo i numero Primo! Ma...dove sono?

    Originariamente inviato da qazaz
    Salve il suddetto codice dovrebbe servire per sapere se un numero e primo oppure no
    ma quando lo mando in esecuzione,non spunta niete credo che si crei un interazione all'inifinito ho pensato che dovrei agginungere un bottone si MA CHE CODICE INSERIRE E SE NON E QUESTO ALLORA COSA?:master:

    Private Sub Primo(N As Long)
    Dim L As Long
    For L = 2 To Sqr(N)
    if N Mod L=0 then
    MsgBox "il numero non è primo"
    Exit For
    End If
    Next L
    End Sub


    A presto Qazaz
    Il codice è giustissimo, non vedo dove stia il problema. Inseriscili un munero primo e uno no per testarlo e vedrai che nel caso del numero non primo (esempio: 6) la MsgBox ri stamperà il messaggio.


    ciao.

  3. #3
    Innanzitutto, nonostante il codice funzioni, ha parecchi problemi per quanto riguarda la computazionalità (la velocità di calcolo dell'elaboratore in caso di numeri molto grandi).
    Per i numeri primi ti consiglio questo codice, in quanto un numero pari (a parte il 2) non é MAI primo, quindi controlla solo i numeri dispari:
    codice:
        If n <= 3 Then
            primo = True
        Else
            If n Mod 2 = 0 Then
                primo = False
            Else
                d = 3
                r = Int(Sqr(n))
                While (d <= r) And (n Mod d <> 0)
                    d = d + 2
                Wend
                If d > r Then
                    primo = True
                Else
                    primo = False
                End If
            End If
        End If
        If primo Then MsgBox "primo"
    Secondo: per poter farlo partire, all'evente Click del bottone (basta un doppio click sullo stesso per poter agire sugli eventi del click) devi inserire
    codice:
    Call Primo (TuoNum)
    in modo che il tutto appaia
    codice:
    Private Sub Command1_Click()
        Call Primo(TuoNum)
    End Sub
    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  4. #4
    cmq di questo è stato discusso in un post precedente:
    post

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.