Domanda

Come regalo di Natale che ho scritto un piccolo programma in Java per calcolare i numeri primi. La mia intenzione era di lasciare su tutta la notte, calcolando il prossimo primo e la scrittura in un file .txt. La mattina avrei ucciso il programma e prendere il file txt al mio amico per Natale.

C'è qualcosa che dovrebbe essere preoccupati? Tenete a mente che questo è vero per principianti Ziggy si sta parlando, non un errore di controllo intelligente ASM ragazzo.

EDIT Più in particolare, dal momento che lascerò questo programma per tutta la notte a contare i numeri primi, c'è qualche possibilità a tutti che io incontrare qualche tipo di errore relativo alla memoria? Come, pile schiacciamento cumuli o cani e gatti che dormono insieme?

EDIT ancora più specificamente, v'è una linea di codice potrei mettere per fermare la stampa di righe in cui la dimensione del file è di 4GB? Giusto per essere sicuri?

EDIT: il successo: dopo aver lasciato su tutta la notte ho avuto non più di 13 KB di numeri primi, La più alta ho ottenuto è stato 22.947.217, che è come decine di migliaia di numeri primi. Successo!

È stato utile?

Soluzione

Più che probabile che si sta utilizzando un algoritmo che è lento. Come i numeri primi si fanno più grandi il programma sarà tenuto più a lungo e più a lungo per calcolare un singolo apice. Se si lascia correre per tutta la notte il file di testo non sta per essere molto grande al mattino. Sarei impressionato se si tratta di più di un paio di mega.

Altri suggerimenti

mi sento di raccomandare l'invio di un messaggio SMS per ogni serata si calcola. Il tuo amico vorrebbe che molto meglio di un mucchio di carta. Inoltre egli può essere aggiornato molto più spesso.

C'è un sacco di limiti, anche se nessuno di loro è intrinseco alla txt file:

  • Windows 9x Blocco note non aprirà un file di> 64 KB.
  • Windows NT / 2K / del ecc Notepad non ha limiti, ma tende a soffocare e blocchino sul file multi-megabyte. È inoltre necessario ricordare la maggior parte degli editor di testo sono muti e provare a leggere l'intero file in RAM.
  • Un sacco di software è limitato ai file di 2GB o 4GB a seconda che usano firmato o unsigned int -. Come qualcuno già detto FAT32 è colpevole di questo

Tecnicamente, non c'è alcun limite se non quello che i luoghi del file system su di voi. Tuttavia, Notepad è davvero irritabile circa l'apertura di file di grandi dimensioni oscenamente.

Si potrebbe prendere in considerazione il monitoraggio del numero di byte che si scrive per ogni file e passare a uno nuovo dopo un certo numero di byte. Si potrebbe anche fornire un visualizzatore per i file in modo tuo amico può vedere il suo regalo più facilmente. :)

Se la memoria non serve, FAT32 ha una dimensione limite di file 4gig.

Ziggy -

Amo questo: "non un errore di controllo intelligente ASM ragazzo." Si sta descrivendo tutti noi!

hanno un sacco di spazio su disco e inizia a scrivere! Come accennato in precedenza, assicurarsi che l'editor utilizzato per aprire il file in grado di aprire file di grandi dimensioni.

Buone vacanze, vero principiante Ziggy.

Solo per quanto riguarda la dimensione del luogo che stai memorizzare il file di testo sul disco.

E, se non stai scrivendo tutto subito, la memoria + memoria virtuale.

Come di salvare alcuni cicli di CPU e solo il download di un lista pre-calcolate dei numeri primi ? O è più "il pensiero che conta"? :)

Che dire solo la creazione di un file per ogni numero primo e quindi utilizzare il nome del file per visualizzare il numero?

In qualche modo ho dubbio che quando avere il vostro programma eseguito durante la notte, che la dimensione del file sarà un problema, visto che ci vorrà più tempo per trovare i numeri primi, come i numeri diventano più grandi. Basta fare in modo di ripulire o si potrebbe mangiare tutta la RAM.

Per rispondere alla tua domanda: In teoria, il filesystem limita la dimensione del file. Tuttavia, un sacco di incidente editor di testo (Vim non) durante il caricamento di file di grandi dimensioni (> 100 MB), perché cercano di inserirsi in un buffer.

In sintesi, pensare di dividere il backup dei file in pezzi l'anello più debole (editor di testo) in grado di gestire.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top