(1)素数特点:只能被1和本身整除
也就是可以通过for循环并使用if语句来判断是否有除了1和它本身的数整数,如果有则不是素数。
(2)代码如下:
void is_prime() { int i = 0; int j = 0; int flag = 0; printf("请输入要判断的数:"); scanf("%d",&i); for (j = 2; j < i; j++) { if (i % j == 0) { flag++; } } if (flag == 0) { printf("%d是素数\n", i); } } int main() { is_prime(); return 0; }
(3)运行结果如下
(4)函数引申
利用上面实现的is_prime函数,打印100到200之间的素数。
通过嵌套for循环改变i的值来逐一判断
改造后的函数如下
void is_prime() { int i = 0; int j = 0; int flag = 0; for (i = 100; i < 201; i++) { flag = 0; for (j = 2; j < i; j++) { if (i % j == 0) { flag++; } } if (flag == 0) { printf("%d\n", i); } } } int main() { is_prime(); return 0; }
运行结果如下:
所以100~200之间的素数有101、103、107、109、113、127、131、137、139、149、151、157、163、167、173、179、181、191、193、197、199这21个。