求素数判断的代码,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很大时,这没这么简单了.