素数判断

//divisors.c--使用嵌套if语句显示一个数的约数

#include

#include

int main()

{

    unsigned long num;      //待测试的数

    unsigned long div;      //可能的约数

    bool isPrime;           //素数标记

    printf("Please enter an integer for analysis; ");

    printf("Enter q to quit.\n");

    while (scanf("%lu", &num) == 1)

    {

        for (div = 2, isPrime = true; (div * div) <= num; div++)

        {

            if (num % div == 0)

            {

                if ((div * div) != num)

                    printf("%lu is divisible by %lu and %lu.\n", num, div, num / div);

                else

                    printf("%lu is divisible by %lu.\n", num, div);

                isPrime = false;

            }

        }

        if (isPrime)

            printf("%lu is prime.\n", num);

        printf("Please enter another integer for analysis; ");

        printf("Enter q to quit.\n");

    }

    printf("Bye.\n");

    getchar();

    getchar();

    return 0;

}

最厉害的就是那个if(isPrime)了,可根据循环的结果判断进不进入if语句

你可能感兴趣的:(素数判断)