开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情.
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。换句话说,只有两个正因数(1 和自己)的自然数即为素数。比 1 大但不是素数的数称为合数。1 和 0 既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。所有的合数都可由若干个质数相乘而得到。
质数具有许多独特的性质:
(1)质数p的约数只有两个:1和p。
(2)初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。
(3)质数的个数是无限的。
(4)质质数的个数公式 𝜋(n)是不减函数。
(5)若n为正整数,在𝑛^2到〖(𝑛+1)〗^2 之间至少有一个质数。
(6)若n为大于或等于2的正整数,在n到n!之间至少有一个质数。
(7)若质数p为不超过n( n≥4 )的最大质数,则 p>𝑛/2 。
(8)所有大于10的质数中,个位数只有1,3,7,9。
求解思想:
建立两个循环,一个用于遍历从1到100,另一个用于遍历从2到上一个循环的数字。这样两者进行取余,余数为零则跳出循环,说明该数字除1和他本身之外还有其它数,所以他不是素数,当循环结束,flag标记值不变,则说明该数是素数。
代码如下:
#include<iostream>
using namespace std;
void main()
{
int i;
for(i=1;i<=100;i++){
bool flag=true;
for(int j=2;j<i;j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag==true)
cout<<i<<" ";
}
}
运行结果如下: