From fc066c315113652ba6831b4dbb74aeacc55b39cb Mon Sep 17 00:00:00 2001 From: TienNM99 Date: Wed, 27 Sep 2023 23:19:35 +0700 Subject: [PATCH] [Init] --- .gitignore | 3 +++ src/Main.java | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 .gitignore create mode 100644 src/Main.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f63a24e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea +*.iml +out diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..cbd59a9 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,35 @@ +import java.io.BufferedWriter; +import java.io.FileWriter; +import java.io.IOException; + +public class Main { + + public static void main(String[] args) { + int n = 1_000_000_000; // Upper limit + boolean[] isPrime = new boolean[n + 1]; + + for (int i = 2; i <= n; i++) { + isPrime[i] = true; + } + + for (int p = 2; p * p <= n; p++) { + if (isPrime[p]) { + for (int i = p * p; i <= n; i += p) { + isPrime[i] = false; + } + } + } + + try (BufferedWriter writer = new BufferedWriter(new FileWriter("primes.txt"))) { + for (int i = 2; i <= n; i++) { + if (isPrime[i]) { + writer.write(Integer.toString(i)); + writer.newLine(); + } + } + System.out.println("Prime numbers up to " + n + " have been saved to primes.txt."); + } catch (IOException e) { + e.printStackTrace(); + } + } +}