重庆电子网站建设,ashx做网站,网页qq登录电脑版,广州公司招聘今天课上李洋老师讲到求素数时#xff0c;讲了一种新的方法#xff0c;一开始听得我一脸懵逼#xff0c;但当我理解的时候#xff0c;眼前一亮#xff0c;老师的算法省去了不少步骤#xff0c;话不多说#xff0c;附上题目#xff1a;求100到200之间的素数。 输入讲了一种新的方法一开始听得我一脸懵逼但当我理解的时候眼前一亮老师的算法省去了不少步骤话不多说附上题目求100到200之间的素数。 输入无 计算 求素数 输出 输出素数 每4个一行 每个数占4位 代码
void isPrime(int i){ int j;int flag 0;int count 0;for (i 100; i 200; i){int k sqrt(i);flag 0;for (j 2; j k; j) /*只要考虑开方之前的数*/{if (0 i % j){flag 1;break; // 只会跳出一层循环} }if(1 ! flag){if (0 count % 4)putchar (\n);printf (%4d, i);}}putchar (\n);
}
当 i 越大这种方式的优越性就越明显举个栗子当 i 取10000时开方为100也就是说只要考虑2到100就可以了而我会的方法就要考虑2到10000少的可不是一点点。