这个通过率 只有40%是为什么
#include <iostream>
using namespace std;
int prime(int n);
int main()
{
int T,n;
cin>>T;
while(T!=0)
{
cin>>n;
prime(n);
T--;
}
}
int prime(int n)
{
int i;
bool *prime = new bool[n+1];
for(i=2;i<n;i++)
{
prime[i] = true;
}
int sum=0;
for(i=2;i<n;i++)
{
if(prime[i])
{
sum++;
for(int j=i+i;j<n;j+=i)
{
prime[j] = false;
}
}
}
cout<<sum<<endl;
return 0;
}
using namespace std;
int prime(int n);
int main()
{
int T,n;
cin>>T;
while(T!=0)
{
cin>>n;
prime(n);
T--;
}
}
int prime(int n)
{
int i;
bool *prime = new bool[n+1];
for(i=2;i<n;i++)
{
prime[i] = true;
}
int sum=0;
for(i=2;i<n;i++)
{
if(prime[i])
{
sum++;
for(int j=i+i;j<n;j+=i)
{
prime[j] = false;
}
}
}
cout<<sum<<endl;
return 0;
}