求素数的三种方法

#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;
}

阅读更多
上一篇程序员成长之路的起点
想对作者说点什么? 我来说一句

不同存储方式上求素数

2009年05月26日 85KB 下载

没有更多推荐了,返回首页

关闭
关闭