在自然数域内,质数是不可再分的数,是组成一切自然数的基本元素。 比如,10 是由两个 2 和两个 3 组成的,正如水分子是由两个 H 原子和一个 O 原子组成的一样。只是和化学世界不同,质数有无穷多个,因此算术世界的元素也就有无穷多个。算术世界内的一切对象、定理和方法,都是由其基本元素质数组成的。
那么如何求出一个质数呢?
程序代码如下:
点击(此处)折叠或打开
-
#include <stdio.h>
-
-
int main()
-
{
-
int i = 2,j = 2,cout = 0;
-
-
for (i = 2; i <= 100; i++)
-
{
-
//此循环退出有两种情况
-
//1.若一个数能被i整出,则这个数肯定不是质数,退出内层循环,
-
//此时很显然i的值和j的值不相等,所以if的命令不会被执行
-
-
//2.在j<i的范围内,i%j的值都不等于0,直到j=i时,退出循环
-
//此时的i便是质数。
-
-
-
//3.举例说明,如果此时i=7,i%2,3,4,5,6的值都不等于0,7%6之后
-
//执行j++,此时j=7,再判断条件,不成立,退出内层循环。接着
-
//执行下面的if语句,此时i==j成立,所以此时j是一个质数
-
-
//总结:由j<i不成立退出的j是质数,否则不是质数;
-
for(j = 2; j < i; j++)
-
{
-
if(i % j == 0)
-
{
-
break;
-
}
-
}
-
-
if(j == i)
-
{
-
printf("%-5d",i);
-
-
/**To setup 5 num in a line**/
-
cout ++;
-
-
if(cout % 5 == 0)
-
{
-
putchar('\n');
-
}
-
-
}
-
-
-
putchar('\n');
-
-
-
return 0;
- }
点击(此处)折叠或打开
-
litong@ltubuntu:~/studyc/c05$ ./a.out
-
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