C语言练习题-C语言练习题实例36
题目:求100之内的素数。
程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。
实例
#include <stdio.h>
#include <math.h>
int main() {
int i, j, k, n = 0;
for (i = 2; i <= 100; i++) {
k = (int)sqrt(i);
for (j = 2; j <= k; j++)
if (i % j == 0)
break;
if (j > k) {
printf("%d ", i);
n++;
if (n % 5 == 0)
printf("\n");
}
}
return 0;
}
以上实例输出结果为:
2 3 5 7 11
13 17 19 23 29
31 37 41 43 47
53 59 61 67 71
73 79 83 89 97
该程序使用嵌套循环遍历从2到100的每个数字,对于每个数字判断其是否为素数。判断素数的方法是从2开始逐个除以小于等于其平方根的数,如果能整除,则该数字不是素数;如果不能整除,则该数字是素数。在程序中使用变量 k
存储当前数字的平方根。如果一个数字是素数,则将其输出,并使用变量 n
记录已输出的素数个数,每输出5个素数后换行显示。