C语言之判断一个数是否为素数

版权声明:转载请联系作者微信 2992860292, QQ同号, 未经许可, 禁止转载 https://blog.csdn.net/qq_40723748/article/details/84618557
#include "stdio.h"
#include"time.h"
#include"math.h"

int isPrimeNumber(int number) { //判断是否为素数
    float sqrtOfNum = sqrt((double) number);
    for (int j = 2; j <= sqrtOfNum; j++) //从2到number的算术平方根迭代
        if (number / j * j == number) //判断j是否为number的因数
            return 0;
    return 1;
}

void printNum(int number) { //打印出 <= number的所有质数
    int j = 0;
    for (int i = 2; i <= number; i++)
        if (isPrimeNumber(i) == 1) {
            printf("%-10d", i);
            j++;
            if (j % 10 == 0) //每隔十个数字换行
                printf("\n");
        }
}

int main() {
    long start = time(NULL);
    printf("%d\n", isPrimeNumber(29));
    printNum(100);
    printf("\n");
    long end = time(NULL);
    printf("Time spent: %d", end - start);
}

运行结果:

1
2         3         5         7         11        13        17        19        23        29        
31        37        41        43        47        53        59        61        67        71        
73        79        83        89        97        
Time spent: 0

猜你喜欢

转载自blog.csdn.net/qq_40723748/article/details/84618557