What are the divisors of 2946?

1, 2, 3, 6, 491, 982, 1473, 2946

4 even divisors

2, 6, 982, 2946

4 odd divisors

1, 3, 491, 1473

How to compute the divisors of 2946?

A number N is said to be divisible by a number M (with M non-zero) if, when we divide N by M, the remainder of the division is zero.

N mod M = 0

Brute force algorithm

We could start by using a brute-force method which would involve dividing 2946 by each of the numbers from 1 to 2946 to determine which ones have a remainder equal to 0.

Remainder = N ( M × N M )

(where N M is the integer part of the quotient)

  • 2946 / 1 = 2946 (the remainder is 0, so 1 is a divisor of 2946)
  • 2946 / 2 = 1473 (the remainder is 0, so 2 is a divisor of 2946)
  • 2946 / 3 = 982 (the remainder is 0, so 3 is a divisor of 2946)
  • ...
  • 2946 / 2945 = 1.0003395585739 (the remainder is 1, so 2945 is not a divisor of 2946)
  • 2946 / 2946 = 1 (the remainder is 0, so 2946 is a divisor of 2946)

Improved algorithm using square-root

However, there is another slightly better approach that reduces the number of iterations by testing only integers less than or equal to the square root of 2946 (i.e. 54.277066980448). Indeed, if a number N has a divisor D greater than its square root, then there is necessarily a smaller divisor d such that:

D × d = N

(thus, if N D = d , then N d = D )

  • 2946 / 1 = 2946 (the remainder is 0, so 1 and 2946 are divisors of 2946)
  • 2946 / 2 = 1473 (the remainder is 0, so 2 and 1473 are divisors of 2946)
  • 2946 / 3 = 982 (the remainder is 0, so 3 and 982 are divisors of 2946)
  • ...
  • 2946 / 53 = 55.584905660377 (the remainder is 31, so 53 is not a divisor of 2946)
  • 2946 / 54 = 54.555555555556 (the remainder is 30, so 54 is not a divisor of 2946)