Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229

    [Algoritmi] Determinazione di numeri primi tra loro

    Devo lavorare con un algoritmo non dipendente dal linguaggio che, dati due numeri, verifichi che siano o meno primi tra loro.
    Ho pensato che potrebbe essere realizzato inserendo in due array con due semplici cicli i divisori di ciascuno dei due argomenti della funzione e confrontando quindi una ad una tutte le posizioni dei due array risultanti (individuato il primo divisore comune la funzione potrebbe essere terminata immediatamente), ma se qualcuno conoscesse un algoritmo più efficiente sarei felice di utilizzarlo.

  2. #2
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Scusa ma che intendi per "primi tra loro"?
    Che non abbiano divisori comuni?
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Se ho immaginato bene un algoritmo migliore sarebbe:

    num1 e num2

    div = {...} array dei divisori di num1

    ciclo per i che va da 0 a lunghezza di div
    if(resto di (num2/div[i]) uguale a zero) num1 e num2 non sono primi tra loro!


    Spero di essermi fatto capire...ho cercato di prescindere dal linguaggio!
    Cmq in linea di massima è come hai detto tu, solo con un solo array a con meno verifiche

    Ciao
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    basta testare che il MCD(a,b) sia 1, usando l'algoritmo di euclide.


  5. #5
    Due numeri sono coprimi se il loro Massimo Comune Divisore è 1.

    Puoi utilizzare l'algoritmo di Euclide per determinare il MCD dei due numeri. L'algoritmo è:

    codice:
    mcd(a, b)
        while (b != 0)
            swap(a, b)
            b = b mod a
    
        return a
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  6. #6
    Arghhhh...fregato sul tempo
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  7. #7
    Flash, a haaaaaaaa .......



  8. #8
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    L'algoritmo di Euclide è perfetto, considerando che devo lanciarlo circa 40000 volte ad ogni esecuzione del programma
    Grazie.

  9. #9
    Cosa devi fare???
    Blink@go

    "Non tutto quel che è oro brilla, Ne gli erranti sono perduti; Il vecchio ch'è forte non s'aggrinza, Le radici profonde non gelano.Dalle ceneri rinascerà un fuoco, L'ombra sprigionerà una scintilla, Nuova sarà la lama ormai rotta, E re quei ch'è senza corona."

    ------------
    Lang: java 1.4.1 Eclipse

  10. #10
    Utente di HTML.it L'avatar di daneel
    Registrato dal
    Oct 2002
    Messaggi
    229
    Oltre alle applicazioni in cui devo usarlo seriamente, avevo intenzione di realizzare un grigliato in cui le varie caselle vengono colorate in base ad alcune funzioni matematiche.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.