How to calculate print and save to file the first 100,000 prime numbers in Java

2 Answers

0 votes

Download here the list of 100000 prime numbers

package javaapplication1;

import java.io.*;

public class JavaApplication1 {

    public static void main(String[] args) {

        int i, n = 100000, prime = 2, numbers = 1;
 
        try (Writer writer = new BufferedWriter(new OutputStreamWriter(
              new FileOutputStream("d:\\a_list_of_100000_prime_numbers.txt"), "utf-8"))) 
        {
            StringBuilder sb = new StringBuilder();
 
            while (numbers <= n)
            {
                for (i = 2; i <= prime - 1; i++)
                {
                    if (prime % i == 0)
                        break;
                }
                if (i == prime)
                {
                    System.out.println(numbers + ") " + prime);
                    sb.append(prime);
                    writer.write(sb.toString() + System.lineSeparator());
                    sb.setLength(0);
                    numbers++;
                }
                prime++;
            }
        }
        catch(FileNotFoundException e)
        {
            System.out.println("File Not Found");
            System.exit(1);
        }
        catch(IOException ex)
        {
            System.out.println(ex.toString());
            System.exit(1);
        }
    }
}
 
/*

run:

...

84174) 1078807
84175) 1078813
84176) 1078817
84177) 1078841
84178) 1078849
84179) 1078853
84180) 1078873
84181) 1078879
84182) 1078919
84183) 1078927
84184) 1078937
84185) 1078943
84186) 1078951
84187) 1078967
84188) 1078981
84189) 1078993
84190) 1079009
84191) 1079011
84192) 1079021
84193) 1079033
84194) 1079053
84195) 1079059
84196) 1079069
84197) 1079077
84198) 1079081
84199) 1079087
84200) 1079093
84201) 1079101
84202) 1079107
84203) 1079123
84204) 1079147
84205) 1079153
84206) 1079173
84207) 1079189
84208) 1079213
84209) 1079227
84210) 1079233
84211) 1079251
84212) 1079269
84213) 1079291
84214) 1079297
84215) 1079311
84216) 1079317
84217) 1079329
84218) 1079339
84219) 1079357
84220) 1079359
84221) 1079369
84222) 1079383
84223) 1079399
84224) 1079417
84225) 1079431
84226) 1079453
84227) 1079461
84228) 1079471
84229) 1079473
84230) 1079503
84231) 1079509
84232) 1079527
84233) 1079531
84234) 1079539
84235) 1079569
84236) 1079593
84237) 1079609
84238) 1079621
84239) 1079629
84240) 1079633
84241) 1079647
84242) 1079651
84243) 1079669
84244) 1079671
84245) 1079681
84246) 1079711
84247) 1079717
84248) 1079753
84249) 1079777
84250) 1079779
84251) 1079783
84252) 1079797
84253) 1079809
84254) 1079821
84255) 1079831
84256) 1079849
84257) 1079861
84258) 1079867
84259) 1079879
84260) 1079887
84261) 1079917
84262) 1079927
84263) 1079929
84264) 1079933
84265) 1079957
84266) 1079963
84267) 1079977
84268) 1079983
84269) 1079987
84270) 1079999
84271) 1080007
84272) 1080029
84273) 1080043
84274) 1080049
84275) 1080059
84276) 1080073
84277) 1080077
84278) 1080083
84279) 1080089
84280) 1080091
84281) 1080097
84282) 1080119
84283) 1080137
84284) 1080143
84285) 1080173
84286) 1080199
84287) 1080217
84288) 1080223
84289) 1080229
84290) 1080251
84291) 1080259
84292) 1080263
84293) 1080269
84294) 1080271
84295) 1080281
84296) 1080301
84297) 1080307
84298) 1080311
84299) 1080329
84300) 1080341
84301) 1080347
84302) 1080353
84303) 1080383
84304) 1080413
84305) 1080419
84306) 1080433
84307) 1080439
84308) 1080449
84309) 1080451
84310) 1080463
84311) 1080479
84312) 1080481
84313) 1080491
84314) 1080523
84315) 1080539

...

*/

 

Download here the list of 100000 prime numbers



answered May 13, 2016 by avibootz
edited Oct 4, 2016 by avibootz
0 votes
package javaapplication1;

import java.io.*;

public class JavaApplication1 {

    public static void main(String[] args) {

        int i, n = 100000, prime = 2, numbers = 1;
 
        try (Writer writer = new BufferedWriter(new OutputStreamWriter(
              new FileOutputStream("d:\\a_list_of_100000_prime_numbers.txt"), "utf-8"))) 
        {
           StringBuilder sb = new StringBuilder();
 
           while (numbers <= n)
           {
              if (prime % 2 == 0 || prime % 3 == 0) {
                  prime++;
                  continue;
              }
              long sqrtPrime = (long)Math.sqrt(prime) + 1;
              for (i = 4; i <= sqrtPrime; i++) {
                    if (prime % i == 0)
                        break;
              }
              if (i > sqrtPrime)
              {
                  System.out.println(numbers + ") " + prime);
                  sb.append(prime);
                  writer.write(sb.toString() + System.lineSeparator());
                  sb.setLength(0);
                  numbers++;
              }
              prime++;
            }
        }
        catch(FileNotFoundException e)
        {
            System.out.println("File Not Found");
            System.exit(1);
        }
        catch(IOException ex)
        {
            System.out.println(ex.toString());
            System.exit(1);
        }
    }
}
 
/*

run:

...

99932) 1298789
99933) 1298797
99934) 1298809
99935) 1298819
99936) 1298831
99937) 1298849
99938) 1298863
99939) 1298887
99940) 1298909
99941) 1298911
99942) 1298923
99943) 1298951
99944) 1298963
99945) 1298981
99946) 1298989
99947) 1299007
99948) 1299013
99949) 1299019
99950) 1299029
99951) 1299041
99952) 1299059
99953) 1299061
99954) 1299079
99955) 1299097
99956) 1299101
99957) 1299143
99958) 1299169
99959) 1299173
99960) 1299187
99961) 1299203
99962) 1299209
99963) 1299211
99964) 1299223
99965) 1299227
99966) 1299257
99967) 1299269
99968) 1299283
99969) 1299289
99970) 1299299
99971) 1299317
99972) 1299323
99973) 1299341
99974) 1299343
99975) 1299349
99976) 1299359
99977) 1299367
99978) 1299377
99979) 1299379
99980) 1299437
99981) 1299439
99982) 1299449
99983) 1299451
99984) 1299457
99985) 1299491
99986) 1299499
99987) 1299533
99988) 1299541
99989) 1299553
99990) 1299583
99991) 1299601
99992) 1299631
99993) 1299637
99994) 1299647
99995) 1299653
99996) 1299673
99997) 1299689
99998) 1299709
99999) 1299721
100000) 1299743

*/

 



answered Oct 4, 2016 by avibootz
...