{ }codelper
defining functionsreturn valueswhile loopremainderP0008

Prime check

A natural number n is given.
Print "prime" if n is prime, otherwise "not prime".
A prime is a number greater than 1 divisible only by 1 and itself.

Input
1 ≤ n ≤ 1,000,000,000
Output
"prime" or "not prime"
Example 1 · stdin
97
stdout
prime
Example 2 · stdin
1
stdout
not prime
main.py
Input (stdin)

When you run, these lines are fed to input()/stdin in order (the program doesn't stop to ask).

$ Ready

Open this on a computer to write and run code. On mobile you can read the problem and the solutions.

In other languagesShow solutions by language · 8 languages

1 is not prime — forgetting this is the most common mistake.
Trying divisors while i * i <= n (up to the square root) is enough, so even a billion takes only about 30,000 steps.
Pulling the check into a function reads well: Python def, C int is_prime(...), Java/C# static boolean/static bool.

Pythonmain.py · 13 lines
def is_prime(n):    if n < 2:        return False    i = 2    while i * i <= n:        if n % i == 0:            return False        i += 1    return True  n = int(input())print("prime" if is_prime(n) else "not prime")
JavaScriptmain.js · 8 lines
function isPrime(n) {  if (n < 2) return false;  for (let i = 2; i * i <= n; i++) if (n % i === 0) return false;  return true;} const n = Number(require("fs").readFileSync(0, "utf8"));console.log(isPrime(n) ? "prime" : "not prime");
TypeScriptmain.ts · 10 lines
import { readFileSync } from "node:fs"; function isPrime(n: number): boolean {  if (n < 2) return false;  for (let i = 2; i * i <= n; i++) if (n % i === 0) return false;  return true;} const n: number = Number(readFileSync(0, "utf8"));console.log(isPrime(n) ? "prime" : "not prime");
JavaMain.java · 14 lines
import java.util.Scanner; public class Main {    static boolean isPrime(long n) {        if (n < 2) return false;        for (long i = 2; i * i <= n; i++) if (n % i == 0) return false;        return true;    }     public static void main(String[] args) {        long n = new Scanner(System.in).nextLong();        System.out.println(isPrime(n) ? "prime" : "not prime");    }}
C#Main.cs · 17 lines
using System; class Program{    static bool IsPrime(long n)    {        if (n < 2) return false;        for (long i = 2; i * i <= n; i++) if (n % i == 0) return false;        return true;    }     static void Main()    {        long n = long.Parse(Console.ReadLine());        Console.WriteLine(IsPrime(n) ? "prime" : "not prime");    }}
C++main.cpp · 14 lines
#include <iostream> bool isPrime(long long n) {    if (n < 2) return false;    for (long long i = 2; i * i <= n; i++)        if (n % i == 0) return false;    return true;} int main() {    long long n;    std::cin >> n;    std::cout << (isPrime(n) ? "prime" : "not prime") << '\n';}
Cmain.c · 15 lines
#include <stdio.h> int is_prime(long long n) {    if (n < 2) return 0;    for (long long i = 2; i * i <= n; i++)        if (n % i == 0) return 0;    return 1;} int main(void) {    long long n;    scanf("%lld", &n);    puts(is_prime(n) ? "prime" : "not prime");    return 0;}
Craykonmain.cray · 18 lines
isPrime(n){    if (n < 2)    {        return false;    }    for (i = 2; i * i <= n; i++)    {        if (n % i == 0)        {            return false;        }    }    return true;} n = Console.ReadLine().ToNumber();Console.WriteLine(isPrime(n) ? "prime" : "not prime");