C# Composite Number Program

Beginner
6 min read
Updated: Oct 2026
2 programs
Live preview

What Is a Composite Number?

A composite number is an integer n > 1 that has more than two positive divisors — at least one factor other than 1 and n itself. The smallest composite number is 4.

Remember
n is composite  ⇔  n > 1  and  n is not prime
                ⇔  n has a divisor d with 1 < d < n

Examples:
  4  = 2 × 2     → composite
  9  = 3 × 3     → composite
  15 = 3 × 5     → composite
  7              → prime (not composite)
  1              → neither prime nor composite
ClassConditionExample
Neithern <= 11, 0, negatives
PrimeExactly two divisors: 1 and n2, 3, 5, 7
CompositeMore than two positive divisors4, 6, 8, 9

First composite numbers (1–30)

List
4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30

How to Check a Composite Number in C#

Four clear steps — then pick a basic or O(√n) loop.

  1. If n <= 1, return false (not composite).
  2. Search for a divisor starting at 2.
  3. Stop early when a divisor is found — the number is composite.
  4. If no divisor appears before the limit, the number is prime (not composite).
MethodIdeaTimeBest for
Basic loopTest divisors from 2 to n / 2O(n)Interviews, small n
√n checkTest divisors from 2 to √nO(√n)Larger n, optimizations

Pseudocode

Pseudocode
function IsComposite(n):
    if n <= 1:
        return false

    for i from 2 to floor(n / 2):
        if n mod i == 0:
            return true          // found a factor

    return false                // prime (or 2, 3, …)

Cheat Sheet

Keep these facts handy while writing the program.

TopicDetail
Definitionn > 1 with a factor other than 1 and n
Smallest4
Not composite1, primes, and n <= 1
Basic limitLoop 2 … n / 2
Fast limitLoop 2 … √n
Classic check9 → composite; 7 → not

Live Preview

Enter any integer to see its classification and a factor if it is composite.

Whole numbers (capped at ±999999). Tap a chip or type a value.

Result
n = 9
Factor found: 3 (because 9 = 3 × 3)
Divisor count > 2
Verdict: COMPOSITE

Worked Walkthrough — n = 9

Start at 2. As soon as one factor appears, the number is composite.

Calculation
n = 9  (n > 1, so it could be prime or composite)

i = 2 → 9 % 2 != 0  → continue
i = 3 → 9 % 3 == 0  → factor found

9 = 3 × 3
Positive divisors: 1, 3, 9  (three divisors)
Result: composite

C# Programs

Start with the readable loop to n / 2. Then stop at √n for the usual interview optimization.

Example 1 — Check One Number

Look for any divisor from 2 through n / 2.

C#
using System;

class Program
{
    static bool IsComposite(int n)
    {
        if (n <= 1)
        {
            return false;
        }

        for (int i = 2; i <= n / 2; i++)
        {
            if (n % i == 0)
            {
                return true;
            }
        }

        return false;
    }

    static void Main()
    {
        int number = 9;

        if (IsComposite(number))
        {
            Console.WriteLine(number + " is a composite number.");
        }
        else
        {
            Console.WriteLine(number + " is not a composite number.");
        }
    }
}

How It Works

  1. Reject n <= 1 immediately — those values are not composite.
  2. Loop i from 2 to n / 2. No proper factor can be larger than n / 2.
  3. If n % i == 0, a factor exists between 1 and n, so return true.
  4. If the loop finishes with no hit, n is prime (or 2/3), so return false.
  5. For 9, i = 3 divides evenly, so the method reports composite.

Example 2 — O(√n) Check

Any factor larger than √n pairs with a smaller one, so stopping at √n is enough.

C#
using System;

class Program
{
    static bool IsCompositeFast(int n)
    {
        if (n <= 1)
        {
            return false;
        }

        for (int i = 2; i <= n / i; i++)
        {
            if (n % i == 0)
            {
                return true;
            }
        }

        return false;
    }

    static void Main()
    {
        Console.WriteLine(IsCompositeFast(9));  // True  (composite)
        Console.WriteLine(IsCompositeFast(7));  // False (prime)
        Console.WriteLine(IsCompositeFast(1));  // False (neither)
    }
}

How It Works

  1. Same early exit for n <= 1.
  2. The condition i <= n / i means i <= √n without floating point, and it avoids overflow.
  3. If a small factor i exists, its partner n / i is at least as large as i — so finding either proves composite.
  4. No factor up to √n means n is prime, so return false.
  5. Checks: 9 is composite, 7 is prime, 1 is neither.

Edge Cases & Pitfalls

Check these before calling the solution done.

n <= 1

Not composite

Return false before any loop. 1 is neither prime nor composite.

2 and 3

Smallest primes

Both are prime. The loop never finds a factor, so return false.

Squares

Still composite

9, 25, 49 are composite even when the only middle factor repeats.

Negatives

Usually out of scope

Prime/composite talk is for integers greater than 1. Treat negatives as not composite.

Time and Space Complexity

ProgramTimeExtra space
Basic loop to n/2O(n)O(1)
Loop up to √nO(√n)O(1)

Key Takeaways

  • Definition: n > 1 with a factor other than 1 and itself.
  • Opposite of prime: composite ↔ not prime and n > 1.
  • Two loops: basic 2 … n/2, or optimized 2 … √n.
  • Test set: 4 and 9 true; 1, 2, and 7 false.

One line: if n > 1 and any divisor exists between 2 and √n, the number is composite.

Frequently Asked Questions

An integer greater than 1 that has at least one positive divisor other than 1 and itself. Equivalently, it has more than two positive divisors. The smallest composite number is 4.
Reject n <= 1. Then look for a divisor from 2 through n/2 (simple) or through √n (optimized). If any divisor is found, the number is composite.
No. The number 1 is neither prime nor composite.
A prime has exactly two positive divisors: 1 and itself. A composite has more than two. Both require n > 1.
The basic loop is O(n). Checking divisors only up to √n is O(√n). Both use O(1) extra space.

Next: Condense a Number

Repeatedly sum digits until a single digit remains.

Condense a number tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

11 people found this page helpful