1000以内的质数

用while和for循环均实现一次,求1000以内所有的质数。质数:只能够1和它本身整除

#include 

void zhishu1() {
    int i = 2;
    printf("2\n");
    while (i < 1000) {
        int j = 2;
        int prime = 1;
        while (j * j <= i) {
            if (i % j == 0) {
                prime = 0;
                break;
            }
            j++;
        }
        if (prime) {
            printf("%d\n", i);
        }
        i++;
    }

}

void zhishu2()
{
    int i, j;
    printf("2\n");
    for (i = 3; i < 1000; i += 2) {
        for (j = 2; j * j <= i; j++) {
            if (i % j == 0) {
                break;
            }
        }
        if (j * j > i) {
            printf("%d\n", i);
        }
    }

}                                               

int main(int argc, const char *argv[])
{
    zhishu1();
    zhishu2();
    return 0;
}
                                                

你可能感兴趣的:(学习方法)