DUE

Altro problemino di programmazione per tutti (e per nessuno)

Quale è il fattore primo più grande del numero 600851475143 ?

 

Scrivere un programma che risolve il problema, postare il risultato assieme alle seguenti informazioni:

  1. macchina usata
  2. linguaggio di programmazione
  3. tempo impiegato
  4. numero di righe del programma

 

Questa voce è stata pubblicata in Algoritmi, Aritmetica, Informatica, Matematica, Programmazione e contrassegnata con , , , , , , , , . Contrassegna il permalink.

8 risposte a DUE

  1. Filippo Bisconcin ha detto:

    Spero che sia giusto stavolta…

    1) Intel pentium 4 2.80 GHz
    2) Visual Basic
    3) 1 sec
    4) 18

    Soluzione : 6857

    • bobcarr ha detto:

      esatto, vediamo il codice (solo la funzione)

      • Filippo Bisconcin ha detto:

        da scrivere in chat si vede malissimo. comunque eccolo:

        ***Main***
        Dim numero As Double = 600851475143
        Dim metà = Int(Math.Sqrt(numero)), max1 = 0
        For a = metà To 1 Step -1
        If (numero / a) = (numero \ a) Then
        If pr(a) = 1 Then
        max1 = a
        Exit For
        End If
        End If
        Next
        MsgBox(max1)
        ***Main***

        Function pr(ByVal numero As Double)
        Dim p = 1
        For x = 2 To Math.Sqrt(numero)
        If numero / x = numero \ x Then Return 0
        Next
        Return 1
        End Function

  2. Filippo Bisconcin ha detto:

    Mi accorgo sempre dopo che posso ottimizzare….17 righe

  3. Filippo Bisconcin ha detto:

    1) Intel pentium 4 2.80 GHz
    2) Visual Basic
    3) 4 sec circa
    4) 19

    Soluzione : 600851475149

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...