求素数的三种方法

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 200; i++)
{
for (j = 2; j < i; j++)
{
if (i%j == 0)
break;
}
if (i == j)
printf("%d ", i);
}
system("pause");
return 0;

}

2#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int j = 0;
int aver = i / 2;
for (i = 1; i < 200; i++)
{
for (j = 2; j <= aver; j++)//进行优化
{
if (i%j == 0)
break;
}
if (aver <= j)
printf("%d ", i);
}
system("pause");
return 0;

}

3#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = 0;
int j = 0;
printf("2 ");
for (i = 3; i < 200; i+=2)//只有奇数才有可能为素数
{
for (j = 2; j <= sqrt(i); j++)//进行优化;必须取等号例如9=3*3;若不取等号,程序运行9就成了素数
{
if (i%j == 0)
break;
}


if (sqrt(i) < j)


printf("%d ", i);
}
system("pause");
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41097801/article/details/79972133