VC++程序:用筛选法求出2到200之间的所有素数
发布网友
发布时间:2024-10-06 13:17
我来回答
共3个回答
热心网友
时间:2024-10-11 22:34
#include <stdio.h>
bool isPrime(int n)
{
if(n < 2) return false;
for(int i = 2; i < n; ++i)
if(n%i == 0) return false;
return true;
}
int main(int argc, char* argv[])
{
for (int i = 2; i <= 200; i++)
{
if (isPrime(i))
{
printf("%d是素数.\n", i);
}
}
return 0;
}
热心网友
时间:2024-10-11 22:35
#include "stdio.h"
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=2;m<=200;m++)
{ k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
}
热心网友
时间:2024-10-11 22:36
//---------------------------------------------------------------------------
#include <stdio.h>
void sh(int a[],int n)
{
int i,j;
for (i=0; i<n; i++) {
if (!a[i]) continue;
for (j=i+1; j<n; j++)
if (a[j]%a[i]==0) a[j]=0;
}
}
int main(void)
{
int a[99],i;
for (i = 0; i<99; i++) a[i]=i+2;
sh(a,99);
for (i = 0; i<99; i++)
if (a[i]) printf("%d ",a[i]);
putchar('\n');
return 0;
}
//---------------------------------------------------------------------------