文章目录
目录
1.概念理解
素数:又称质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
因数:指整数a除以整数b(b≠0) 的商正好是整数而没有余数,我们就说b是a的因数。(a%b==0则b为a的因数)
2.代码实现
输出样例
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
方法一:输出100内的素数(易理解)
//输出100内素数
#include<stdio.h>
int main()
{
int i,j,sign;
for(i=2;i<=100;i++)//100内数字赋值
{
sign=0;
for(j=2;j<i;j++)//创建大于1小于自身的因数进行判断
{
if(i%j==0)
{
sign=1;
break;//标记变量若进入该语句则不是素数
}
}
if(sign==0)
printf("%-5d",i); //%-5d表示占5个字段且左对齐(即右补空格)
}
return 0;
}
方法二:使用sqrt平方根函数输出
如果一个数不是素数那么它一定是两个数的乘积。 n = sqrt(n) * sqrt(n),假设n是i*j,那么i和j一定有一个是<= sqrt(n) ,另一个>=sqrt(n),因此只看较小那个除数存不存在就可以判断n是否素数。
//输出100内素数
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,sign;
for(i=2;i<=100;i++)//100内数字赋值
{
sign=0;
for(j=2;j<=sqrt(i);j++)//创建大于1小于自身的因数进行判断
{
if(i%j==0)
{
sign=1;
break;//标记变量若进入该语句则不是素数
}
}
if(sign==0)
printf("%-5d",i); //%-5d表示占5个字段且左对齐(即右补空格)
}
return 0;
}