第1个回答 2013-09-17
#include <iostream.h>
#include <math.h>
void main()
{ int m,i,k;
cout<<'Input m : ";
cin>>m;
k=sqrt(m);
for(i=2;i<=k;i++)
{
if(m%k==0)
{
cout<<m<<"is a prime num between 3-100\n";
k=0;
break;
}
}
if(k==0)
cout<<m<<"is not a prime num between 3-100\n";
}
第2个回答 2013-09-17
用筛选法实现的
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main(int ac, char** av) {
const MAX = 100;
bool sieve[MAX + 1];
fill(sieve, sieve + MAX + 1, true);
sieve[0] = false;
sieve[1] = false;
for (int n=2; n < sqrt((double)MAX + 1); n++) {
if (sieve[n]) {
for (int j=2*n; j < MAX + 1; j+=n)
sieve[j] = false;
}
}
for(int i = 2; i < MAX + 1; i++) {
if(sieve[i])
cout << i << endl;
}
}