Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 70 additions & 19 deletions prime.cs
Original file line number Diff line number Diff line change
@@ -1,31 +1,82 @@
// using System;

// class Program{
// static bool is_prime(int n) {
// if (n <= 1) {
// return false;
// }
// var end = Math.Sqrt(n);
// for(int i = 2 ; i <= end ; i++)
// if (n % i == 0) {
// return false;
// }
// return true;
// }
// static void Main(string[] args){
// var start = DateTime.Now;
// var c = 0;
// for (int i=0;i<9000000;i++){
// if (is_prime(i)){
// c++;
// }
// }

// var end = DateTime.Now;

// Console.WriteLine(c);
// Console.Write( (int) (end-start).TotalMilliseconds );
// Console.WriteLine("ms");
// }

// }

using System;

class Program{
static bool is_prime(int n) {
if (n <= 1) {
return false;
class Program
{
static void Main(string[] args)
{
var start = DateTime.Now;
int N = 9000000;
bool[] isPrime = new bool[N + 1];

// Initialize all numbers to be prime
for (int i = 2; i <= N; i++)
{
isPrime[i] = true;
}
var end = Math.Sqrt(n);
for(int i = 2 ; i <= end ; i++)
if (n % i == 0) {
return false;

// Mark all multiples of each prime as not prime
for (int i = 2; i * i <= N; i++)
{
if (isPrime[i])
{
for (int j = i * i; j <= N; j += i)
{
isPrime[j] = false;
}
}
return true;
}
static void Main(string[] args){
var start = DateTime.Now;
var c = 0;
for (int i=0;i<9000000;i++){
if (is_prime(i)){
}

int c = 0;
// Print all prime numbers
Console.WriteLine("Prime numbers:");
for (int i = 2; i <= N; i++)
{
if (isPrime[i])
{
c++;
}

}

var end = DateTime.Now;
var end = (DateTime.Now - start).TotalMilliseconds;


Console.WriteLine(c);
Console.Write( (int) (end-start).TotalMilliseconds );
Console.WriteLine("ms");
}
Console.WriteLine(String.Format("{0} in {1} ms", c,end));

Console.ReadKey();
}
}

52 changes: 35 additions & 17 deletions prime.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,40 @@
import math
import time
# general way for this problem
# import math
# import time

def is_prime(n):
if n <= 1:
return False;
# def is_prime(n):
# if n <= 1:
# return False;

end = int(math.sqrt(n))
for i in range(2, end+1):
if n % i == 0:
return False
return True
# end = int(math.sqrt(n))
# for i in range(2, end+1):
# if n % i == 0:
# return False
# return True


# start = time.time() * 1000
# c = 0
# for i in range(0,9000000):
# if is_prime(i):
# c+=1

# print(c);
# print( (time.time()*1000) - start);

start = time.time() * 1000
c = 0
for i in range(0,9000000):
if is_prime(i):
c+=1

print(c);
print( (time.time()*1000) - start);
# implementation via (Sieve of Eratosthenes) algorithm
import time

def count_primes(n: int) -> int:
s = time.time() * 1000
primes = [True] * n
primes[0] = primes[1] = False
for i in range(2, int(n ** 0.5) + 1):
if primes[i]:
for j in range(i * i, n, i):
primes[j] = False
return sum(primes), (time.time() * 1000 - s)

c,e = count_primes(9000000)
print(f"Found {c} prime number in {e}ms")