/ test_src / zig / first1000primes / 001 / primes.zig
primes.zig
 1  const std = @import("std");
 2  
 3  fn isPrime(n: u32) bool {
 4      if (n < 2) return false;
 5      if (n == 2) return true;
 6      if (n % 2 == 0) return false;
 7      var i: u32 = 3;
 8      while (i * i <= n) : (i += 2) {
 9          if (n % i == 0) return false;
10      }
11      return true;
12  }
13  
14  pub fn main() !void {
15      var count: u32 = 0;
16      var num: u32 = 2;
17      var last_prime: u32 = 0;
18      
19      while (count < 1000) {
20          if (isPrime(num)) {
21              last_prime = num;
22              count += 1;
23          }
24          num += 1;
25      }
26      
27      std.debug.print("{d}\n", .{last_prime});
28  }