Go: package main

import (
	"bufio"
	"fmt"
	"math"
	"os"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func main() {
	num := make([]bool, 1000000)

	for sc.Scan() {
		var nmpr int

		n, _ := strconv.Atoi(sc.Text())

		lmt := int(math.Sqrt(float64(n)))

		for i := 2; i <= lmt; i++ {
			for j := 2; i*j <= n; j++ {
				if !num[i*j] {
					num[i*j] = true
				}
			}
		}

		for t := 2; t <= n; t++ {
			if !num[t] {
				nmpr++
			}
		}

		fmt.Println(nmpr)
	}

}

Python: import math

def prime_calc(n):
    if n < 2:
        return False
    elif n==2 or n==3 or n==5 or n==7:
        return True
    else:
        rootN = math.floor(math.sqrt(n))
        i = 11
        while rootN > i:
            if n % i == 0:
                return False
            else:
                i += 2

    return True

def prime(n):
    cnt = 0
    for i in range(2, n+1):
        ans = prime_calc(i)
        if ans is True:
            cnt = cnt + 1

    return cnt

def main():
    l = []

    for line in sys.stdin:
        l.append(int(line))

    for line in l:
        print(prime(line))

if __name__ == "__main__":
    main()

Python: for input in sys.stdin:
    prime_num = 0
    for i in range(int(input)):
        y = i+1
        x = y / 2
        while x > 1:
            if y % x == 0:
                break
            x -= 1
        else:
            prime_num += 1
    print(prime_num-1)

Python: def Eratosthenes(n):
	N = {i:True for i in range(2,n+1)}
	primeNumbers = []
	for i in range(2,n+1):
		if N[i]:
			primeNumbers.append(i)
			j = i*2
			while j<=n:
				N.update({j:False})
				j += i
	return primeNumbers

while True:
	try:
		n = int(input())
		print(len(Eratosthenes(n)))
	except EOFError:
		break

Python: import sys

ary=[]
for i in sys.stdin:
    ary.append(int(i))
m = max(ary)
prime=[1] * (m + 1)
prime[0] = prime[1] = 0
for i in range(2, int(m ** 0.5) + 1):
    if prime[i] == 1:
        for j in range(i*2, m + 1, i):
            prime[j] = 0
for i in range(len(ary)):
    print(sum(prime[:ary[i] + 1]))

Python: import sys
m=10**5//2
a=[0,0,1]+[1,0]*m
for i in range(4,999):
 if a[i]:a[i*2::i]=[0]*len(a[i*2::i])
for e in sys.stdin:print(sum(a[:int(e)+1]))

Python: while True:
    try:
        num=int(input())
    except:
        break
    sum=0
    for i in range(1,num+1):
        n=0
        for j in range(1,i):
            if i%j==0:
                n+=1
        if n==1:
            sum+=1
    print(sum)

Python: n=1000000
num=[True]*(n+1)
num[0]=num[1]=False

for i in range(2,int(n**0.5)+1):
    if num[i]:
        for j in range(i*2,n+1,i):
            num[j]=False
# 0 1 2 2 3 3 4
# 1 2 3 4 5 6 7
ans=[0]*(n)
for i in range(1,n):
    if num[i]:
        ans[i]=ans[i-1]+1
    else:
        ans[i]=ans[i-1]
while True:
    try:
        s=int(input())
    except:
        break
    print(ans[s])

Python: import math


def sieve_of_erastosthenes(target_list):
    for num in target_list:
        input_list = [False if i % 2 == 0 or i % 3 == 0 or i % 5 == 0 else True for i in range(num)]
        input_list[0] = input_list[1] = False
        input_list[2] = input_list[3] = input_list[5] = True
        sqrt = math.sqrt(num)

        for serial in range(3, num, 2):
            
            if serial >= sqrt:
                print(sum(input_list))
                break

            for s in range(serial ** 2, num, serial): 
                input_list[s] = False



if __name__ == '__main__':
    target_list = []

    while True:
        try:
            target_list.append(int(input()))
        except:
            break

    sieve_of_erastosthenes(target_list)

Python: import math
  
def yo(n):
    if n==1:    return False
    s=2
    while s <= int(math.sqrt(n)):
        if n%s == 0:    return False
        s+=1
    return True
  
while True:
    c=0
    try:
        for i in range(1, int(input(">>"))+1,2):
            if yo(i)==True:    c+=1
        print(c)
    except:
        break

Python: import math

num_max = 999999
i = 3
prime_list = [2]
while i<num_max :
	judge = True
	j = 0
	while prime_list[j] <= math.sqrt(i) :
		if (i%prime_list[j]==0) :
			judge = False
			break
		j += 1
	if(judge) :
		prime_list.append(i)
	i += 2
while True :
    try:
        n = input()
        k = 0
        while prime_list[k] <=  n :
            k += 1
        print(k)
    except EOFError :
        break

Python: def era(x,p):
  if x<=p or (x>p and x%p!=0):
    return x
  else:
    return None
def eratosthenes(n):
  A=[i for i in range(2,n+1)]
  p=2
  while p<=n**(1/2):
    A=list(filter(lambda x:era(x,p),A))
    p+=1
  return(A)

inputs=[]
while True:
  try:
    inputs.append(int(input()))
  except EOFError:
    break

for i in inputs:
  print(len(eratosthenes(i)))

Python: from math import sqrt
from sys import stdin

def isprime(x) :
    if x == 2 : return x
    elif (x < 2) or (x % 2 == 0) : return False
    else :
        i = 3
        while i <= sqrt(x) :
            if x % i == 0 : return False
            i = i + 2
    return x

for Input in stdin :
    result = 0
    for make in range(2, int(Input) + 1) :
        if isprime(make) != False : result += 1
    print(result)

Python: from __future__ import (division, absolute_import, print_function,
                        unicode_literals)
from sys import stdin

def enum_prime(n):
    if n < 2:
        return []
    if n == 2:
        return [2]
    L = list(range(2, n + 1))
    PL = []
    while True:
        PL.append(L[0])
        L = [i for i in L if i % PL[-1] != 0]
        if L[-1] < PL[-1] ** 2:
            return PL + L

for line in stdin:
    print(len(enum_prime(int(line))))

Python: # coding: utf-8

LIMIT = 999999

prime = [0, 1] + [0 if i % 2 == 0 else 1 for i in range(3, LIMIT + 1)]

for i in range(3, LIMIT + 1):
    if prime[i - 1]:
        for j in range(i ** 2, LIMIT + 1, i):
            prime[j - 1] = 0

while True:
    try:
        n = int(input())
    except EOFError:
        break

    print(sum(prime[:n]))

Python: def sieve(n):
	p=[True]*(n+1)
	p[0]=p[1]=False
	for i in range(2,n+1,2):
		if p[i]==True:
			for j in range(i*i,n+1,i):
				p[j]=False
	return p

def solve(n):
		if n<2:return 0
		c=1
		for i in range(3,n+1,2):
			if p[i]==1:
				c+=1
		return c

p=sieve(100000)
while True:
	try:
		n = int(input())
		print(solve(n))
	except EOFError:
		break

Python: # -*- coding: utf-8 -*-

import sys
import os
import math



def Eratosthenes(n):
    lst = [i for i in range(2, n+1)]
    primes = []
    sqrt_n = n ** 0.5

    while True:
        first = lst.pop(0)
        if first < sqrt_n:
            primes.append(first)
            new_lst = []
            for v in lst:
                if v % first != 0:
                    new_lst.append(v)
            lst = new_lst
        else:
            # ??????
            return primes + [first] + lst

s_list = sys.stdin.readlines()
for s in s_list:
    n = int(s)
    lst = Eratosthenes(n)
    print(len(lst))

Python: import math
import sys

def prime_calc(n):
    rootN = math.floor(math.sqrt(n))
    prime = [2]
    data = [i + 1 for i in range(2,n,2)]
    while True:
        p = data[0]
        if rootN < p:
            return len(prime + data)
        prime.append(p)
        data = [e for e in data if e % p != 0]

def main():
    l = []

    for line in sys.stdin:
        l.append(line)        

    for line in l:
        print(prime_calc(line))

if __name__ == "__main__":
    main()

Python: import sys

for input in sys.stdin:
    prime_num = 0
    for i in xrange(int(input)):
        y = i+1
        x = y / 2
        r = 2
        while r <= x:
            if y % r == 0:
                break
            r += 1
        else:
            prime_num += 1
    print(prime_num-1)