|  | 
 
 
 楼主|
发表于 2022-4-12 11:50:22
|
显示全部楼层 
| 就拿小甲鱼这段代码举例
 
 复制代码#include <stdio.h>
int main() {
        int count = 2; // 已知2和3是素数
        int i, j;
        _Bool flag = 1;
        for (i = 5; i < 10000; i++) {
                for (j = 2; j < i / 2; j++) {
                        if (i % j == 0) {
                                flag = 0;
                                break;
                        }
                }
                if (flag) {
                        count++;
                } else {
                        flag = 1;
                }
        }
        printf("10000以内共有%d个素数!\n", count);
        return 0;
}
这段代码,是第二个for,for (j = 2; j < i / 2; j++)这里走完了,全算完了,才会比较, if (i % j == 0) {
 flag = 0;吗
 break;
 
 复制代码 for (i = 5; i < 10000; i++) {
                for (j = 2; j < i / 2; j++) {
                        if (i % j == 0) {
                                flag = 0;
                                break;
                        }
                }
                if (flag) {
                        count++;
                } else {
                        flag = 1;
                }
        }
 | 
 |