读书人

求素数判断的代码VC++的,该如何解决

发布时间: 2013-07-01 12:33:04 作者: rapoo

求素数判断的代码,VC++的
求2-20以内的素数,需要代码 素数 代码
[解决办法]


#include <stdio.h>
#include <string.h>

#define MAX 20

bool prime[MAX + 1];

int main(){
int i, j;
memset(prime, true, sizeof(prime));
for(i = 2; i * i <= MAX; ++i){
for(j = i * i; j <= MAX; j += i){
prime[j] = false;
}
}
for(i = 2; i <= MAX; ++i){
if(prime[i]) printf("%d ", i);
}
printf("\n");
return 0;
}

[解决办法]
#include <stdio.h>
void main()
{
int a,b;
int i,n;
int flag=1;
printf("请输入上限:");
scanf("%d",&a);
printf("请输入下限:");
scanf("%d",&b);
printf("%d到%d之间的素数为:",b,a);
for (i=b;i<=a;i++) {
flag=1;
for (n=2;n<i;n++)
{
if (i%n==0)//i能整除n
{
flag=0;
}}
if (flag==1)
{
printf("%d\t",i);
}
}
}

[解决办法]
判断比较小的数是不是素数,好说,遍历2~根号n之间的数 看n能不整除 就行了.

当n很大时,这没这么简单了.

读书人网 >C++

热点推荐