Factors of a Number in C

A factor of an integer divides that number with no remainder. For example, the positive factors of 12 are 1, 2, 3, 4, 6 and 12.

Display the Positive Factors of a Number Top ↑

#include <stdio.h>

void print_factors(int number) {
    if (number == 0) {
        printf("Every non-zero integer divides 0.\n");
        return;
    }

    if (number < 0) {
        number = -number;
    }

    printf("Positive factors: ");

    for (int i = 1; i <= number; i++) {
        if (number % i == 0) {
            printf("%d ", i);
        }
    }

    putchar('\n');
}

int main(void) {
    int number;

    printf("Enter an integer: ");
    if (scanf("%d", &number) != 1) {
        printf("Invalid input.\n");
        return 1;
    }

    print_factors(number);
    return 0;
}

More Efficient Factor Pairs Top ↑

Factors occur in pairs. Instead of checking every integer up to the number, this version stops once the divisor passes the square-root boundary.

#include <stdio.h>

int main(void) {
    int number = 36;

    printf("Factor pairs of %d:\n", number);

    for (int i = 1; i <= number / i; i++) {
        if (number % i == 0) {
            int partner = number / i;

            if (i == partner) {
                printf("%d\n", i);
            } else {
                printf("%d x %d\n", i, partner);
            }
        }
    }

    return 0;
}

Output

1 x 36
2 x 18
3 x 12
4 x 9
6

Check Whether a Number Is Prime Top ↑

#include <stdio.h>

int is_prime(int number) {
    if (number < 2) {
        return 0;
    }

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

    return 1;
}

int main(void) {
    int number = 7;

    printf("%d %s prime.\n",
           number,
           is_prime(number) ? "is" : "is not");

    return 0;
}

Related Factor Examples Top ↑





plus2net.com






✖
We use cookies to improve your browsing experience. . Learn more
HTML MySQL PHP JavaScript ASP Photoshop Articles Contact us
© 2000-2026 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer