//第一次尝试:
#include<stdio.h> int main() { for (int i = 100; i <= 200; i++) { int n = 0; for (int j = 1; j < i; j++) { if (i % j == 0) { n++; } } if (n == 1) { printf("%d ", i); } } return 0; }
//能得出结果,但是事后发现,i%j已经不等于0了,表示i已经不是素数,就没必要在继续向后判断了,因此不够完美,做了优化。
//第二次尝试:
#include<stdio.h> int main() { for (int i = 100; i <= 200; i++) { int n = 1; for (int j = 2; j < i; j++) { if (i % j == 0) { n++; break; } } if (n == 1) { printf("%d ", i); } } return 0; }
//做出优化之后代码变得精简了,减少了没必要的循环操作,提高了性能。