质数只有两个正因数(1和自己)的自然数即为质数。
1.最常用的
#include<stdio.h>
int main()
{
int i, j;
for (i = 2; i <= 100; i++)
{
for (j = 2; j <=i; j++) //(内层循环只比较i的一半)
{
if (i % j == 0)
{
break; //跳出离得最近的 循环
}
}
if (i == j) //判断中一个定一个动
printf("%d ", i);
}
return 0;
}
2.利用指针判断
#include<stdio.h>
#include<stdlib.h>
int main()
{
int* p1, * p2;
int a[100],i,b;
for (i = 0; i < 100; i++)
{
a[i] = i + 1;
}
for (p1 =&a[1]; p1 < a + 100; p1++)
{
for (p2 = &a[1]; p2 <=p1 ; p2++)
{
if (*p1 % *p2 == 0)
break;
}
if (*p1 == *p2)
printf("%d ", *p1);
}
system("pause");
return 0;
}
3.利用数组进行判断
#include<stdio.h>
#include<stdlib.h>
int main()
{
int* p1;
int a[100], i;
for (i = 0; i < 100; i++)
{
a[i] = i + 1;
}
for (p1 = &a[2]; p1 < a + 100; p1++)
{
for (i=2;i<=*p1;i++)
{
if (*p1%i == 0)
break;
}
if (*p1 == i)
printf("%d ", *p1);
}
system("pause");
return 0;
}