1.只能被1和自己本身整除的数为素数
#include <stdio.h>
#include <math.h>
int main()
{
int i=0, j=0;
for(i=100; i<=200; i++)
{
for(j=2; j<=i-1; j++)
{
if(i%j==0) break;
}
//代码到这有两种情况
//1.break跳出必然不是素数
//2.j已经大于等于i,不符合循环条件,必然是素数
if(j>=i)
{
printf("%d\t",i);
}
}
return 0;
}
2.一个数的因子必然有一个小于等于它的二分之一(当然除了1)
#include <stdio.h>
#include <math.h>
int main()
{
int i=0, j=0;
for(i=100; i<=200; i++)
{
for(j=2; j<=i/2; j++)
{
if(i%j==0) break;
}
if(j>i/2)
{
printf("%d\t",i);
}
}
return 0;
}
3.类似于2
#include <stdio.h>
#include <math.h>
int main()
{
int i=0, j=0;
for(i=100; i<=200; i++)
{
for(j=2; j<=sqrt(i); j++)
{
if(i%j==0) break;
}
if(j>sqrt(i))
{
printf("%d\t",i);
}
}
return 0;
}
附加:偶数都不是素数(除了2)
#include <stdio.h>
#include <math.h>
int main()
{
int i=0, j=0;
for(i=100; i<=200; i++)
{
for(j=2; j<=sqrt(i); j+=2)
{
if(i%j==0) break;
}
if(j>sqrt(i))
{
printf("%d\t",i);
}
}
return 0;
}